HIGH Introduced in 5.0
cfg80211 PMSR UAF
CVE-2026-90343
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
KernelScan AI7.8HIGH
01Description
In the Linux kernel, the following vulnerability has been resolved: wifi: cfg80211: stop PMSR before P2P and NAN teardown PMSR request teardown must abort active measurements while the wireless_dev is still present in the driver. cfg80211_leave_locked() and cfg80211_stop_pd() already do this before invoking the driver's stop callback, but cfg80211_stop_p2p_device() and cfg80211_stop_nan() do not. Those helpers are also called directly by nl80211, rfkill shutdown, and wireless_dev unregister paths. If one of these paths stops a P2P device or NAN interface with a pending request, it removes the mac80211 subinterface from the driver first. Subsequent request cleanup cannot reach the lower driver's abort callback, but cfg80211 frees the request regardless. Driver state can then retain a stale request and use it when it later reports a result. Call cfg80211_pmsr_wdev_down() before stopping the P2P device or NAN interface. This keeps lower-driver request state and cfg80211 request ownership in sync for all of the helpers' callers.
02KernelScan AI Analysis
Risk summary
A local attacker with CAP_NET_ADMIN (obtainable via user namespaces on most distros) and access to a WiFi device supporting peer measurement (PMSR/FTM), P2P, or NAN can trigger a use-after-free by starting a measurement request and then stopping the P2P device or NAN interface. The driver retains a stale pointer to the freed request and may dereference it when reporting results, leading to kernel memory corruption, potential privilege escalation, or a system crash.
Vulnerability analysis
When a P2P device or NAN interface is shut down while a peer measurement request is still active, the wireless device is removed from the driver before the pending measurement is aborted. cfg80211 then frees the request object, but the lower driver still holds a pointer to it and may dereference that stale pointer when it later reports a measurement result, resulting in a use-after-free. The fix adds a call to abort all active peer measurements before stopping the P2P device or NAN interface, ensuring the driver's request state and cfg80211's request ownership stay in sync across all teardown paths. The vulnerable path is reachable locally through nl80211 netlink commands and requires CAP_NET_ADMIN (obtainable in a user namespace) plus a WiFi device that supports peer measurement, P2P, or NAN functionality.
Lifecycle
03Fix Versions
| Branch | Introduced | Fixed in | Patch commit |
|---|---|---|---|
| 6.12 | 5.0 | 6.12.114 | dc1e41df6e68 |
| 6.18 | 5.0 | 6.18.52 | 7a22cbc6c6bd |
| 6.6 | 5.0 | 6.6.160 | 9374943fc5a4 |
| 7.2 | 5.0 | 7.2.6 | db3439ad11ac |
| mainline | 5.0 | 7.3 | 6c5fc504d0d6 |
04CIP Kernels
State of the newest release of each Civil Infrastructure Platform SLTS tree, from CIP's own fix records.
| CIP tree | State |
|---|---|
| cip/6.12 | Affected — no CIP fix yet (latest 6.12.112-cip33) |
| cip/6.1 | Affected — no CIP fix yet (latest 6.1.189-cip61) |
| cip/6.1-rt | Affected — no CIP fix yet (latest 6.1.189-cip61-rt32) |
| cip/5.10 | Affected — no CIP fix yet (latest 5.10.271-cip78) |
| cip/5.10-rt | Affected — no CIP fix yet (latest 5.10.268-cip77-rt34) |