---
id: CVE-2026-64570
title: |-
  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.…
summary: |-
  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.…
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-64570'
references:
  - url: 'https://git.kernel.org/stable/c/1981fba71797ec95e6755fb882cad88899a2a84f'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/286e52a799fa158bdbd77da1426c4d93f9a6e7ad'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/5baaa1042f71dd4b8e418f2cdd516808702d229b'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/e2c55079155a953db669ca1986a985fa286bad95'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: >-
      https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-64570.json
  - url: 'https://access.redhat.com/security/cve/CVE-2026-64570'
  - url: 'https://bugzilla.redhat.com/show_bug.cgi?id=2511421'
  - url: 'https://www.cve.org/CVERecord?id=CVE-2026-64570'
  - url: 'https://nvd.nist.gov/vuln/detail/CVE-2026-64570'
  - url: >-
      https://lore.kernel.org/linux-cve-announce/2026080559-CVE-2026-64570-8771@gregkh/T
tags:
  - nvd
  - cve.org
  - csaf
  - vex
  - red-hat
  - score-dispute
epss: 0.00183
epssPercentile: 0.07823
ingestedAt: '2026-08-08T20:29:49.242Z'
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= 3b1c256eb4aedfc71dd97d5951ccff824b41d628 <
    e2c55079155a953db669ca1986a985fa286bad95
  - >-
    Linux >= 3b1c256eb4aedfc71dd97d5951ccff824b41d628 <
    5baaa1042f71dd4b8e418f2cdd516808702d229b
  - >-
    Linux >= 3b1c256eb4aedfc71dd97d5951ccff824b41d628 <
    1981fba71797ec95e6755fb882cad88899a2a84f
  - >-
    Linux >= 3b1c256eb4aedfc71dd97d5951ccff824b41d628 <
    286e52a799fa158bdbd77da1426c4d93f9a6e7ad
  - Linux 6.7
ssvc:
  exploitation: none
  automatable: 'no'
  technicalImpact: total
  timestamp: '2026-10-16T15:43:03.870353Z'
cwe:
  - CWE-1341
scores:
  nvd: 7.8
  vendor: 5.5
  cna: 7.8
---

## Overview

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

## Remediation

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

## Vendor advisories

- **Red Hat VEX** · Moderate · affected: Red Hat Enterprise Linux 10, Red Hat Enterprise Linux 6, Red Hat Enterprise Linux 9 · no fix planned: Red Hat Enterprise Linux 6, Red Hat Enterprise Linux 10, Red Hat Enterprise Linux 9 · updated 2026-10-16 · [vex](https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-64570.json)
