CVE-2026-23444
Received Received - Intake
Use-After-Free Vulnerability in Linux mac80211 WiFi Driver

Publication date: 2026-04-03

Last updated on: 2026-04-27

Assigner: kernel.org

Description
In the Linux kernel, the following vulnerability has been resolved: wifi: mac80211: always free skb on ieee80211_tx_prepare_skb() failure ieee80211_tx_prepare_skb() has three error paths, but only two of them free the skb. The first error path (ieee80211_tx_prepare() returning TX_DROP) does not free it, while invoke_tx_handlers() failure and the fragmentation check both do. Add kfree_skb() to the first error path so all three are consistent, and remove the now-redundant frees in callers (ath9k, mt76, mac80211_hwsim) to avoid double-free. Document the skb ownership guarantee in the function's kdoc.
CVSS Scores
EPSS Scores
Probability:
Percentile:
Meta Information
Published
2026-04-03
Last Modified
2026-04-27
Generated
2026-05-07
AI Q&A
2026-04-03
EPSS Evaluated
2026-05-05
NVD
EUVD
Affected Vendors & Products
Showing 10 associated CPEs
Vendor Product Version / Range
linux linux_kernel 3.13
linux linux_kernel 7.0
linux linux_kernel 7.0
linux linux_kernel 7.0
linux linux_kernel 7.0
linux linux_kernel 7.0
linux linux_kernel 7.0
linux linux_kernel 7.0
linux linux_kernel From 6.19 (inc) to 6.19.10 (exc)
linux linux_kernel From 3.13.1 (inc) to 6.18.20 (exc)
Helpful Resources
Exploitability
CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-401 The product does not sufficiently track and release allocated memory after it has been used, making the memory unavailable for reallocation and reuse.
Attack-Flow Graph
AI Powered Q&A
Can you explain this vulnerability to me?

This vulnerability is in the Linux kernel's wifi mac80211 component. Specifically, the function ieee80211_tx_prepare_skb() has three error paths, but only two of them properly free the socket buffer (skb) when an error occurs. The first error path, when ieee80211_tx_prepare() returns TX_DROP, does not free the skb, which can lead to inconsistent memory management.

The fix involved adding a call to kfree_skb() in the first error path to ensure all three error paths free the skb consistently. Additionally, redundant frees in other callers were removed to avoid double-free issues. The skb ownership guarantee was also documented in the function's kernel documentation.


How can this vulnerability impact me? :

If the skb is not freed properly on all error paths, it can lead to memory leaks or inconsistent memory management within the kernel's wifi subsystem. This could potentially degrade system stability or performance over time due to resource exhaustion.

Additionally, improper freeing of memory buffers can sometimes lead to double-free vulnerabilities or use-after-free bugs, which might be exploitable to cause crashes or escalate privileges, although this specific CVE does not mention such exploitation.


Ask Our AI Assistant
Need more information? Ask your question to get an AI reply (Powered by our expertise)
0/70
EPSS Chart