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

wifi: mac80211: fix fils_discovery double free on alloc failure

ieee80211_set_fils_discovery() calls kfree_rcu() on the old template
before allocating the replacement. If the kzalloc() then fails, it
returns -ENOMEM while link->u.ap.fils_discovery still points at the
object already queued for freeing. A later update or AP teardown
(ieee80211_stop_ap()) re-queues that same rcu_head; the second free is
caught by KASAN when the RCU sheaf is processed in softirq:

BUG: KASAN: double-free in rcu_free_sheaf (mm/slub.c:5850)
Free of addr ffff88800c065280 by task swapper/0/0
...
__rcu_free_sheaf_prepare (mm/slub.c:2634 mm/slub.c:2940)
rcu_free_sheaf (mm/slub.c:5850)
rcu_core (kernel/rcu/tree.c:2617 kernel/rcu/tree.c:2869)
handle_softirqs (kernel/softirq.c:622)
The buggy address belongs to the cache kmalloc-96 of size 96

Queue the old object for kfree_rcu() only after the new one is published,
matching ieee80211_set_probe_resp() and ieee80211_set_s1g_short_beacon().
Published: 2026-08-05
Score: n/a
EPSS: n/a
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

A double free occurs in the Linux mac80211 Wi‑Fi stack when allocating a new fils_discovery template fails; the old template is freed prematurely and later freed again during RCU processing, triggering a KASAN error and a kernel crash. The vulnerability can be leveraged by an attacker who can initiate the failing allocation path—such as by sending crafted Wi‑Fi management frames—to cause a denial‑of‑service on the affected device.

Affected Systems

All Linux kernel builds that include the mac80211 stack and use fils_discovery before the patch commits from 1981fba7 and related changes are vulnerable. The affected kernel versions span any release that contains the unpatched code, as no specific version range is provided in the disclosure.

Risk and Exploitability

The CVSS score is not published, but the nature of the bug (kernel memory corruption leading to a crash) suggests a high severity. The EPSS score is not available, and the issue is not listed in CISA’s KEV catalog. Exploitation would likely require an attacker with local or remote control of Wi‑Fi management frames, making the attack vector potentially remote or local depending on device configuration. Given the lack of active exploit evidence, the current risk remains primarily the potential for a crash, though the high severity warrants timely mitigation.

Generated by OpenCVE AI on August 5, 2026 at 09:26 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Install the latest Linux kernel that incorporates the commits fixing the fils_discovery double free
  • Verify that the kernel version includes the relevant commits (1981fba7, 286e52a7, 5baaa104, e2c55079) and that wireless drivers are up to date
  • If immediate patching is not possible, avoid operating the device in AP mode or disable fils_discovery features until the fix is applied

Generated by OpenCVE AI on August 5, 2026 at 09:26 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Wed, 05 Aug 2026 09:45:00 +0000

Type Values Removed Values Added
Weaknesses CWE-416

Wed, 05 Aug 2026 08:15:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: wifi: mac80211: fix fils_discovery double free on alloc failure ieee80211_set_fils_discovery() calls kfree_rcu() on the old template before allocating the replacement. If the kzalloc() then fails, it returns -ENOMEM while link->u.ap.fils_discovery still points at the object already queued for freeing. A later update or AP teardown (ieee80211_stop_ap()) re-queues that same rcu_head; the second free is caught by KASAN when the RCU sheaf is processed in softirq: BUG: KASAN: double-free in rcu_free_sheaf (mm/slub.c:5850) Free of addr ffff88800c065280 by task swapper/0/0 ... __rcu_free_sheaf_prepare (mm/slub.c:2634 mm/slub.c:2940) rcu_free_sheaf (mm/slub.c:5850) rcu_core (kernel/rcu/tree.c:2617 kernel/rcu/tree.c:2869) handle_softirqs (kernel/softirq.c:622) The buggy address belongs to the cache kmalloc-96 of size 96 Queue the old object for kfree_rcu() only after the new one is published, matching ieee80211_set_probe_resp() and ieee80211_set_s1g_short_beacon().
Title wifi: mac80211: fix fils_discovery double free on alloc failure
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-08-05T08:08:07.855Z

Reserved: 2026-07-19T15:36:31.797Z

Link: CVE-2026-64570

cve-icon Vulnrichment

No data.

cve-icon NVD

No data.

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-05T10:15:03Z

Weaknesses