{"id":"CVE-2025-38606","state":"PUBLISHED","title":"wifi: ath12k: Avoid accessing uninitialized arvif->ar during beacon miss","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nwifi: ath12k: Avoid accessing uninitialized arvif->ar during beacon miss\n\nDuring beacon miss handling, ath12k driver iterates over active virtual\ninterfaces (vifs) and attempts to access the radio object (ar) via\narvif->deflink->ar.\n\nHowever, after commit aa80f12f3bed (\"wifi: ath12k: defer vdev creation for\nMLO\"), arvif is linked to a radio only after vdev creation, typically when\na channel is assigned or a scan is requested.\nFor P2P capable devices, a default P2P interface is created by\nwpa_supplicant along with regular station interfaces, these serve as dummy\ninterfaces for P2P-capable stations, lack an associated netdev and initiate\nfrequent scans to discover neighbor p2p devices. When a scan is initiated\non such P2P vifs, driver selects destination radio (ar) based on scan\nfrequency, creates a scan vdev, and attaches arvif to the radio. Once the\nscan completes or is aborted, the scan vdev is deleted, detaching arvif\nfrom the radio and leaving arvif->ar uninitialized.\n\nWhile handling beacon miss for station interfaces, P2P interface is also\nencountered in the vif iteration and ath12k_mac_handle_beacon_miss_iter()\ntries to dereference the uninitialized arvif->deflink->ar.\n\nFix this by verifying that vdev is created for the arvif before accessing\nits ar during beacon miss handling and similar vif iterator callbacks.\n\n==========================================================================\n wlp6s0: detected beacon loss from AP (missed 7 beacons) - probing\n KASAN: null-ptr-deref in range [0x0000000000000010-0x0000000000000017]\n\n CPU: 5 UID: 0 PID: 0 Comm: swapper/5 Not tainted 6.16.0-rc1-wt-ath+ #2 PREEMPT(full)\n RIP: 0010:ath12k_mac_handle_beacon_miss_iter+0xb5/0x1a0 [ath12k]\n Call Trace:\n  __iterate_interfaces+0x11a/0x410 [mac80211]\n  ieee80211_iterate_active_interfaces_atomic+0x61/0x140 [mac80211]\n  ath12k_mac_handle_beacon_miss+0xa1/0xf0 [ath12k]\n  ath12k_roam_event+0x393/0x560 [ath12k]\n  ath12k_wmi_op_rx+0x1486/0x28c0 [ath12k]\n  ath12k_htc_process_trailer.isra.0+0x2fb/0x620 [ath12k]\n  ath12k_htc_rx_completion_handler+0x448/0x830 [ath12k]\n  ath12k_ce_recv_process_cb+0x549/0x9e0 [ath12k]\n  ath12k_ce_per_engine_service+0xbe/0xf0 [ath12k]\n  ath12k_pci_ce_workqueue+0x69/0x120 [ath12k]\n  process_one_work+0xe3a/0x1430\n\nTested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.4.1-00199-QCAHKSWPL_SILICONZ-1\nTested-on: WCN7850 hw2.0 PCI WLAN.HMT.1.1.c5-00284.1-QCAHMTSWPL_V1.0_V2.0_SILICONZ-3","publishedAt":"2025-08-19T17:03:50.189Z","updatedAt":"2026-05-11T21:31:28.971Z","severity":null,"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"aa80f12f3bedc2d73e4cc43554aee44c277cc938","status":"affected","lessThan":"9b861dfc5c07defd0191fd3e7288a3179cd9a02e","versionType":"git"},{"version":"aa80f12f3bedc2d73e4cc43554aee44c277cc938","status":"affected","lessThan":"1259b6da8303f70fef6ed4aef8ae3dedfecb0f27","versionType":"git"},{"version":"aa80f12f3bedc2d73e4cc43554aee44c277cc938","status":"affected","lessThan":"36670b67de18f1e5d34900c5d2ac60a8970c293c","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/net/wireless/ath/ath12k/mac.c","drivers/net/wireless/ath/ath12k/p2p.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"6.14","status":"affected"},{"version":"0","status":"unaffected","lessThan":"6.14","versionType":"semver"},{"version":"6.15.10","status":"unaffected","lessThanOrEqual":"6.15.*","versionType":"semver"},{"version":"6.16.1","status":"unaffected","lessThanOrEqual":"6.16.*","versionType":"semver"},{"version":"6.17","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/net/wireless/ath/ath12k/mac.c","drivers/net/wireless/ath/ath12k/p2p.c"]}],"references":["https://git.kernel.org/stable/c/9b861dfc5c07defd0191fd3e7288a3179cd9a02e","https://git.kernel.org/stable/c/1259b6da8303f70fef6ed4aef8ae3dedfecb0f27","https://git.kernel.org/stable/c/36670b67de18f1e5d34900c5d2ac60a8970c293c"],"weaknesses":[],"ingestedAt":"2026-10-29T20:09:09.358Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2025/38xxx/CVE-2025-38606.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2025-38606","state":"PUBLISHED","datePublished":"2025-08-19T17:03:50.189Z","dateUpdated":"2026-05-11T21:31:28.971Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2025-04-16T04:51:24.028Z"},"containers":{"cna":{"title":"wifi: ath12k: Avoid accessing uninitialized arvif->ar during beacon miss","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nwifi: ath12k: Avoid accessing uninitialized arvif->ar during beacon miss\n\nDuring beacon miss handling, ath12k driver iterates over active virtual\ninterfaces (vifs) and attempts to access the radio object (ar) via\narvif->deflink->ar.\n\nHowever, after commit aa80f12f3bed (\"wifi: ath12k: defer vdev creation for\nMLO\"), arvif is linked to a radio only after vdev creation, typically when\na channel is assigned or a scan is requested.\nFor P2P capable devices, a default P2P interface is created by\nwpa_supplicant along with regular station interfaces, these serve as dummy\ninterfaces for P2P-capable stations, lack an associated netdev and initiate\nfrequent scans to discover neighbor p2p devices. When a scan is initiated\non such P2P vifs, driver selects destination radio (ar) based on scan\nfrequency, creates a scan vdev, and attaches arvif to the radio. Once the\nscan completes or is aborted, the scan vdev is deleted, detaching arvif\nfrom the radio and leaving arvif->ar uninitialized.\n\nWhile handling beacon miss for station interfaces, P2P interface is also\nencountered in the vif iteration and ath12k_mac_handle_beacon_miss_iter()\ntries to dereference the uninitialized arvif->deflink->ar.\n\nFix this by verifying that vdev is created for the arvif before accessing\nits ar during beacon miss handling and similar vif iterator callbacks.\n\n==========================================================================\n wlp6s0: detected beacon loss from AP (missed 7 beacons) - probing\n KASAN: null-ptr-deref in range [0x0000000000000010-0x0000000000000017]\n\n CPU: 5 UID: 0 PID: 0 Comm: swapper/5 Not tainted 6.16.0-rc1-wt-ath+ #2 PREEMPT(full)\n RIP: 0010:ath12k_mac_handle_beacon_miss_iter+0xb5/0x1a0 [ath12k]\n Call Trace:\n  __iterate_interfaces+0x11a/0x410 [mac80211]\n  ieee80211_iterate_active_interfaces_atomic+0x61/0x140 [mac80211]\n  ath12k_mac_handle_beacon_miss+0xa1/0xf0 [ath12k]\n  ath12k_roam_event+0x393/0x560 [ath12k]\n  ath12k_wmi_op_rx+0x1486/0x28c0 [ath12k]\n  ath12k_htc_process_trailer.isra.0+0x2fb/0x620 [ath12k]\n  ath12k_htc_rx_completion_handler+0x448/0x830 [ath12k]\n  ath12k_ce_recv_process_cb+0x549/0x9e0 [ath12k]\n  ath12k_ce_per_engine_service+0xbe/0xf0 [ath12k]\n  ath12k_pci_ce_workqueue+0x69/0x120 [ath12k]\n  process_one_work+0xe3a/0x1430\n\nTested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.4.1-00199-QCAHKSWPL_SILICONZ-1\nTested-on: WCN7850 hw2.0 PCI WLAN.HMT.1.1.c5-00284.1-QCAHMTSWPL_V1.0_V2.0_SILICONZ-3"}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"aa80f12f3bedc2d73e4cc43554aee44c277cc938","status":"affected","lessThan":"9b861dfc5c07defd0191fd3e7288a3179cd9a02e","versionType":"git"},{"version":"aa80f12f3bedc2d73e4cc43554aee44c277cc938","status":"affected","lessThan":"1259b6da8303f70fef6ed4aef8ae3dedfecb0f27","versionType":"git"},{"version":"aa80f12f3bedc2d73e4cc43554aee44c277cc938","status":"affected","lessThan":"36670b67de18f1e5d34900c5d2ac60a8970c293c","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/net/wireless/ath/ath12k/mac.c","drivers/net/wireless/ath/ath12k/p2p.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"6.14","status":"affected"},{"version":"0","status":"unaffected","lessThan":"6.14","versionType":"semver"},{"version":"6.15.10","status":"unaffected","lessThanOrEqual":"6.15.*","versionType":"semver"},{"version":"6.16.1","status":"unaffected","lessThanOrEqual":"6.16.*","versionType":"semver"},{"version":"6.17","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/net/wireless/ath/ath12k/mac.c","drivers/net/wireless/ath/ath12k/p2p.c"]}],"references":[{"url":"https://git.kernel.org/stable/c/9b861dfc5c07defd0191fd3e7288a3179cd9a02e"},{"url":"https://git.kernel.org/stable/c/1259b6da8303f70fef6ed4aef8ae3dedfecb0f27"},{"url":"https://git.kernel.org/stable/c/36670b67de18f1e5d34900c5d2ac60a8970c293c"}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-05-11T21:31:28.971Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.14","versionEndExcluding":"6.15.10"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.14","versionEndExcluding":"6.16.1"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.14","versionEndExcluding":"6.17"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}}}}}