CVE-2025-38606

Source
https://nvd.nist.gov/vuln/detail/CVE-2025-38606
Import Source
https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2025-38606.json
JSON Data
https://api.test.osv.dev/v1/vulns/CVE-2025-38606
Downstream
Published
2025-08-19T17:03:50.189Z
Modified
2025-11-27T13:33:27.520894Z
Summary
wifi: ath12k: Avoid accessing uninitialized arvif->ar during beacon miss
Details

In the Linux kernel, the following vulnerability has been resolved:

wifi: ath12k: Avoid accessing uninitialized arvif->ar during beacon miss

During beacon miss handling, ath12k driver iterates over active virtual interfaces (vifs) and attempts to access the radio object (ar) via arvif->deflink->ar.

However, after commit aa80f12f3bed ("wifi: ath12k: defer vdev creation for MLO"), arvif is linked to a radio only after vdev creation, typically when a channel is assigned or a scan is requested. For P2P capable devices, a default P2P interface is created by wpa_supplicant along with regular station interfaces, these serve as dummy interfaces for P2P-capable stations, lack an associated netdev and initiate frequent scans to discover neighbor p2p devices. When a scan is initiated on such P2P vifs, driver selects destination radio (ar) based on scan frequency, creates a scan vdev, and attaches arvif to the radio. Once the scan completes or is aborted, the scan vdev is deleted, detaching arvif from the radio and leaving arvif->ar uninitialized.

While handling beacon miss for station interfaces, P2P interface is also encountered in the vif iteration and ath12kmachandlebeaconmiss_iter() tries to dereference the uninitialized arvif->deflink->ar.

Fix this by verifying that vdev is created for the arvif before accessing its ar during beacon miss handling and similar vif iterator callbacks.

========================================================================== wlp6s0: detected beacon loss from AP (missed 7 beacons) - probing KASAN: null-ptr-deref in range [0x0000000000000010-0x0000000000000017]

CPU: 5 UID: 0 PID: 0 Comm: swapper/5 Not tainted 6.16.0-rc1-wt-ath+ #2 PREEMPT(full) RIP: 0010:ath12kmachandlebeaconmissiter+0xb5/0x1a0 [ath12k] Call Trace: _iterateinterfaces+0x11a/0x410 [mac80211] ieee80211iterateactiveinterfacesatomic+0x61/0x140 [mac80211] ath12kmachandlebeaconmiss+0xa1/0xf0 [ath12k] ath12kroamevent+0x393/0x560 [ath12k] ath12kwmioprx+0x1486/0x28c0 [ath12k] ath12khtcprocesstrailer.isra.0+0x2fb/0x620 [ath12k] ath12khtcrxcompletionhandler+0x448/0x830 [ath12k] ath12kcerecvprocesscb+0x549/0x9e0 [ath12k] ath12kceperengineservice+0xbe/0xf0 [ath12k] ath12kpciceworkqueue+0x69/0x120 [ath12k] processonework+0xe3a/0x1430

Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.4.1-00199-QCAHKSWPLSILICONZ-1 Tested-on: WCN7850 hw2.0 PCI WLAN.HMT.1.1.c5-00284.1-QCAHMTSWPLV1.0V2.0SILICONZ-3

Database specific
{
    "cna_assigner": "Linux",
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/blob/cc431b3424123d84bcd7afd4de150b33f117a8ef/cves/2025/38xxx/CVE-2025-38606.json"
}
References

Affected packages

Git / git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git

Affected ranges

Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
aa80f12f3bedc2d73e4cc43554aee44c277cc938
Fixed
9b861dfc5c07defd0191fd3e7288a3179cd9a02e
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
aa80f12f3bedc2d73e4cc43554aee44c277cc938
Fixed
1259b6da8303f70fef6ed4aef8ae3dedfecb0f27
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
aa80f12f3bedc2d73e4cc43554aee44c277cc938
Fixed
36670b67de18f1e5d34900c5d2ac60a8970c293c

Affected versions

v6.*

v6.12
v6.12-rc5
v6.12-rc6
v6.12-rc7
v6.13
v6.13-rc1
v6.13-rc2
v6.13-rc3
v6.13-rc4
v6.13-rc5
v6.13-rc6
v6.13-rc7
v6.14
v6.14-rc1
v6.14-rc2
v6.14-rc3
v6.14-rc4
v6.14-rc5
v6.14-rc6
v6.14-rc7
v6.15
v6.15-rc1
v6.15-rc2
v6.15-rc3
v6.15-rc4
v6.15-rc5
v6.15-rc6
v6.15-rc7
v6.15.1
v6.15.2
v6.15.3
v6.15.4
v6.15.5
v6.15.6
v6.15.7
v6.15.8
v6.15.9
v6.16
v6.16-rc1
v6.16-rc2
v6.16-rc3
v6.16-rc4
v6.16-rc5
v6.16-rc6
v6.16-rc7

Linux / Kernel

Package

Name
Kernel

Affected ranges

Type
ECOSYSTEM
Events
Introduced
6.14.0
Fixed
6.15.10
Type
ECOSYSTEM
Events
Introduced
6.16.0
Fixed
6.16.1