CVE-2025-38013 wifi: mac80211: Set n_channels after allocating struct cfg80211_scan_request
A missing initialization in the Linux kernel Wi-Fi scanning code causes an out-of-bounds array access, potentially leading to a system crash.
- Exploited in the wild
- Not known
- Login needed
- Any signed-in user
- Attackable
- Local or same network only
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2025-38013?
CVE-2025-38013 is a high-severity memory corruption vulnerability in Linux kernel, published on 18 Jun 2025. It can only be exploited from the same machine or local network, with no action from the victim.
Official description
In the Linux kernel, the following vulnerability has been resolved:
wifi: mac80211: Set n_channels after allocating struct cfg80211_scan_request
Make sure that n_channels is set after allocating the struct cfg80211_registered_device::int_scan_req member. Seen with syzkaller:
UBSAN: array-index-out-of-bounds in net/mac80211/scan.c:1208:5 index 0 is out of range for type 'struct ieee80211_channel *[] __counted_by(n_channels)' (aka 'struct ieee80211_channel *[]')
This was missed in the initial conversions because I failed to locate the allocation likely due to the "sizeof(void *)" not matching the "channels" array type.
Weakness: CWE-129
Which versions are affected by CVE-2025-38013?
It affects 1 product.
Products include Linux kernel.
How do I fix CVE-2025-38013?
Apply the vendor's patch.
Upgrade to the fixed version. Memory-safe languages, compiler hardening and fuzzing prevent most new cases. More about Memory corruption.
Is CVE-2025-38013 being exploited?
There is no known exploitation of CVE-2025-38013 in the wild and no public exploit code.
Other vulnerabilities in Linux kernel
Sources
Also known as BELL-CVE-2025-38013, DEBIAN-CVE-2025-38013, GHSA-w5qx-5mqj-mr45, ROOT-OS-UBUNTU-2404-CVE-2025-38013, UBUNTU-CVE-2025-38013.