Skip to main content
← All vulnerabilities
CVE-2026-64117

wifi: mac80211: capture fast-RX rate before mesh reuses skb->cb

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 6.6.160, 6.12.114, 6.18.57, 7.0.11
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: none
  • Automatable: no
  • Technical impact: total

Summary

In the Linux kernel, the following vulnerability has been resolved: wifi: mac80211: capture fast-RX rate before mesh reuses skb->cb ieee80211_invoke_fast_rx() reads RX status through IEEE80211_SKB_RXCB(skb), which aliases the same skb->cb storage that ieee80211_rx_mesh_data() reuses as IEEE80211_TX_INFO. In the unicast forward path, mesh_data does: info = IEEE80211_SKB_CB(fwd_skb); memset(info, 0, sizeof(*info)); on the same skb the caller still names via rx->skb, then either queues the skb for TX (success) or kfree_skb()'s it (no-route) before returning RX_QUEUED. The caller's RX_QUEUED arm then calls sta_stats_encode_rate(status) on memory that is either zeroed (success path) or freed (no-route path). The latter is KASAN slab-use-after-free in ieee80211_prepare_and_rx_handle. Fix by encoding the rate from status before invoking ieee80211_rx_mesh_data(), so the RX_QUEUED arm consumes a value captured while status was still backed by valid memory.

Timeline

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: none · Automatable: no · Technical impact: total

  3. Record last updated

Affected versions

  • Linux Linux

    From 3468e1e0c639032a603450f0830ccabfa76f5806 · fixed in 5fe97797412aa8bc0184f78379fafb594bcb7f66; From 3468e1e0c639032a603450f0830ccabfa76f5806 · fixed in 0cd37e746e98ab0baa6d8b812955220775b080d6; From 3468e1e0c639032a603450f0830ccabfa76f5806 · fixed in a2650f8461cd8ba287fee2992b36abe733c2bd5e; From 3468e1e0c639032a603450f0830ccabfa76f5806 · fixed in 2fb64f94f9afb774f2fa0c7835727d7a67f89f07; From 3468e1e0c639032a603450f0830ccabfa76f5806 · fixed in d71c841be5d9e586ee7f36c0dc8ed4db0d9a1349

  • Linux Linux

    6.4

  • KernelLinux

    From 6.4.0 · fixed in 6.6.160; From 6.7.0 · fixed in 6.12.114; From 6.13.0 · fixed in 6.18.57; From 6.19.0 · fixed in 7.0.11

References 5

git.kernel.org