---
id: CVE-2026-64568
title: |-
  In the Linux kernel, the following vulnerability has been resolved:

  wifi: mac80211: fix unsol_bcast_probe_resp double free on alloc failure

  ieee80211_set_unsol_bcast_probe_resp() calls kfree_rcu() on the old
  template before allocating …
summary: |-
  In the Linux kernel, the following vulnerability has been resolved:

  wifi: mac80211: fix unsol_bcast_probe_resp double free on alloc failure

  ieee80211_set_unsol_bcast_probe_resp() calls kfree_rcu() on the old
  template before allocating …
severity: high
cvss: 7.8
cvssVector: 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H'
published: '2026-08-05'
updated: '2026-08-08'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-64568'
references:
  - url: 'https://git.kernel.org/stable/c/0ace76e410d7f7d813b605825a3e593a79c3958f'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/1d067abcd37062426c59ec73dbc4e87a63f33fea'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/ca27a81cd77b698e5eb586a011bee6800c7ee4bd'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/d62b55b7c7dc62887d7fd5648fb38f0bfaef53ae'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
tags:
  - nvd
epss: 0.00175
epssPercentile: 0.06233
ingestedAt: '2026-08-08T20:29:49.205Z'
---

## Overview

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

wifi: mac80211: fix unsol_bcast_probe_resp double free on alloc failure

ieee80211_set_unsol_bcast_probe_resp() calls kfree_rcu() on the old
template before allocating the replacement. If the kzalloc() then fails,
it returns -ENOMEM while link->u.ap.unsol_bcast_probe_resp still points
at the object already queued for freeing. A later update or AP teardown
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 ffff88800d06f300 by task exploit/145
   ...
   __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-128 of size 128

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().

## Remediation

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