---
id: CVE-2026-98698
title: 'wifi: mac80211: handle empty FILS association request payload'
summary: |-
  In the Linux kernel, the following vulnerability has been resolved:

  wifi: mac80211: handle empty FILS association request payload

  fils_encrypt_assoc_req() accepts a (Re)Association Request frame whose
  last element is the FILS Session e…
severity: none
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= 39404feee691a2dc524a629ed6eb5cfe5d8898d1 <
    2f5b62f6534d336a62fdb9e88b186dd70b4323ef
  - >-
    Linux >= 39404feee691a2dc524a629ed6eb5cfe5d8898d1 <
    452f1c9b76f7a122bbc4630b9691bda4809677c4
  - >-
    Linux >= 39404feee691a2dc524a629ed6eb5cfe5d8898d1 <
    20f939b0c151d1d28e6b62a76b2454fa6fe877f2
  - >-
    Linux >= 39404feee691a2dc524a629ed6eb5cfe5d8898d1 <
    5bfd4b0b40b79781d900cb2f7da0685070f53c67
  - Linux 4.10
published: '2026-10-18'
updated: '2026-10-18'
sourceUpdated: '2026-10-18T15:46:23.363Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2026-98698'
references:
  - url: 'https://git.kernel.org/stable/c/2f5b62f6534d336a62fdb9e88b186dd70b4323ef'
  - url: 'https://git.kernel.org/stable/c/452f1c9b76f7a122bbc4630b9691bda4809677c4'
  - url: 'https://git.kernel.org/stable/c/20f939b0c151d1d28e6b62a76b2454fa6fe877f2'
  - url: 'https://git.kernel.org/stable/c/5bfd4b0b40b79781d900cb2f7da0685070f53c67'
tags:
  - cve.org
ingestedAt: '2026-10-18T16:47:32.517Z'
---

## Overview

In the Linux kernel, the following vulnerability has been resolved:

wifi: mac80211: handle empty FILS association request payload

fils_encrypt_assoc_req() accepts a (Re)Association Request frame whose
last element is the FILS Session element.  crypt_len is then zero and
aes_siv_encrypt() is called with an empty plaintext.

kmemdup() returns ZERO_SIZE_PTR for a zero-length allocation, so the
unconditional sg_init_one() puts an invalid page into the scatterlist.
With CONFIG_DEBUG_SG this triggers a kernel BUG in sg_set_buf();
without the debug check the bogus page is handed to the crypto backend.

AES-SIV is defined for empty plaintext and the S2V result is then the
complete output, so handle this case before the CTR step, which has
nothing to encrypt.

## Affected

- `Linux >= 39404feee691a2dc524a629ed6eb5cfe5d8898d1 < 2f5b62f6534d336a62fdb9e88b186dd70b4323ef`
- `Linux >= 39404feee691a2dc524a629ed6eb5cfe5d8898d1 < 452f1c9b76f7a122bbc4630b9691bda4809677c4`
- `Linux >= 39404feee691a2dc524a629ed6eb5cfe5d8898d1 < 20f939b0c151d1d28e6b62a76b2454fa6fe877f2`
- `Linux >= 39404feee691a2dc524a629ed6eb5cfe5d8898d1 < 5bfd4b0b40b79781d900cb2f7da0685070f53c67`
- `Linux 4.10`

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
