{"id":"CVE-2026-74367","state":"PUBLISHED","title":"wifi: ath12k: fix inconsistent arvif state in vdev_create error paths","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nwifi: ath12k: fix inconsistent arvif state in vdev_create error paths\n\nath12k_mac_vdev_create() has three error path issues that leave arvif\nin an inconsistent state:\n\n1. When ath12k_wmi_vdev_create() fails, the function returns directly\n   without clearing arvif->ar, which was already set before the WMI\n   call. Subsequent code checking arvif->ar to determine vdev readiness\n   will see a non-NULL value despite no vdev existing in firmware.\n\n2. When ath12k_wmi_send_peer_delete_cmd() fails in err_peer_del, the\n   code jumped to err: skipping the DP peer cleanup and vdev rollback,\n   leaving num_created_vdevs, vdev maps and arvif list membership live.\n\n3. When ath12k_wait_for_peer_delete_done() fails, the code jumped to\n   err_vdev_del: skipping the DP peer cleanup.\n\nFix by changing the ath12k_wmi_vdev_create() failure to goto err instead\nof returning directly, routing both err_peer_del failure paths through\nerr_dp_peer_del: for proper DP peer and vdev rollback, and consolidating\nthe arvif state cleanup at err:.\n\nTested-on: WCN7850 hw2.0 PCI WLAN.HMT.1.1.c5-00302-QCAHMTSWPL_V1.0_V2.0_SILICONZ-1.115823.3","publishedAt":"2026-08-15T05:58:48.938Z","updatedAt":"2026-10-16T18:55:35.898Z","severity":{"score":7.8,"label":"High","version":"3.1","vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","source":"Linux"},"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"477cabfdb776b571fab425813c074f30c02a5cf6","status":"affected","lessThan":"c09314b8b4c6290290a8a59c9e0e546231231186","versionType":"git"},{"version":"477cabfdb776b571fab425813c074f30c02a5cf6","status":"affected","lessThan":"e0140e094b196d92f2a4ce167ee73cbfab000290","versionType":"git"},{"version":"477cabfdb776b571fab425813c074f30c02a5cf6","status":"affected","lessThan":"c972636efc63f0f43d725b59805dd1ae5bc4b31e","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/net/wireless/ath/ath12k/mac.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"6.13","status":"affected"},{"version":"0","status":"unaffected","lessThan":"6.13","versionType":"semver"},{"version":"6.18.57","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"7.1.5","status":"unaffected","lessThanOrEqual":"7.1.*","versionType":"semver"},{"version":"7.2","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"]}],"references":["https://git.kernel.org/stable/c/c09314b8b4c6290290a8a59c9e0e546231231186","https://git.kernel.org/stable/c/e0140e094b196d92f2a4ce167ee73cbfab000290","https://git.kernel.org/stable/c/c972636efc63f0f43d725b59805dd1ae5bc4b31e"],"weaknesses":[],"ingestedAt":"2026-10-29T20:12:58.252Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/74xxx/CVE-2026-74367.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-74367","state":"PUBLISHED","datePublished":"2026-08-15T05:58:48.938Z","dateUpdated":"2026-10-16T18:55:35.898Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2026-08-15T05:44:03.888Z"},"containers":{"cna":{"title":"wifi: ath12k: fix inconsistent arvif state in vdev_create error paths","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nwifi: ath12k: fix inconsistent arvif state in vdev_create error paths\n\nath12k_mac_vdev_create() has three error path issues that leave arvif\nin an inconsistent state:\n\n1. When ath12k_wmi_vdev_create() fails, the function returns directly\n   without clearing arvif->ar, which was already set before the WMI\n   call. Subsequent code checking arvif->ar to determine vdev readiness\n   will see a non-NULL value despite no vdev existing in firmware.\n\n2. When ath12k_wmi_send_peer_delete_cmd() fails in err_peer_del, the\n   code jumped to err: skipping the DP peer cleanup and vdev rollback,\n   leaving num_created_vdevs, vdev maps and arvif list membership live.\n\n3. When ath12k_wait_for_peer_delete_done() fails, the code jumped to\n   err_vdev_del: skipping the DP peer cleanup.\n\nFix by changing the ath12k_wmi_vdev_create() failure to goto err instead\nof returning directly, routing both err_peer_del failure paths through\nerr_dp_peer_del: for proper DP peer and vdev rollback, and consolidating\nthe arvif state cleanup at err:.\n\nTested-on: WCN7850 hw2.0 PCI WLAN.HMT.1.1.c5-00302-QCAHMTSWPL_V1.0_V2.0_SILICONZ-1.115823.3"}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"477cabfdb776b571fab425813c074f30c02a5cf6","status":"affected","lessThan":"c09314b8b4c6290290a8a59c9e0e546231231186","versionType":"git"},{"version":"477cabfdb776b571fab425813c074f30c02a5cf6","status":"affected","lessThan":"e0140e094b196d92f2a4ce167ee73cbfab000290","versionType":"git"},{"version":"477cabfdb776b571fab425813c074f30c02a5cf6","status":"affected","lessThan":"c972636efc63f0f43d725b59805dd1ae5bc4b31e","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/net/wireless/ath/ath12k/mac.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"6.13","status":"affected"},{"version":"0","status":"unaffected","lessThan":"6.13","versionType":"semver"},{"version":"6.18.57","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"7.1.5","status":"unaffected","lessThanOrEqual":"7.1.*","versionType":"semver"},{"version":"7.2","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"]}],"references":[{"url":"https://git.kernel.org/stable/c/c09314b8b4c6290290a8a59c9e0e546231231186"},{"url":"https://git.kernel.org/stable/c/e0140e094b196d92f2a4ce167ee73cbfab000290"},{"url":"https://git.kernel.org/stable/c/c972636efc63f0f43d725b59805dd1ae5bc4b31e"}],"metrics":[{"cvssV3_1":{"version":"3.1","vectorString":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","baseScore":7.8,"baseSeverity":"HIGH"},"scenarios":[{"lang":"en","value":"AV:L - ath12k_mac_vdev_create() is only reached from mac80211 driver callbacks (assign_vif_chanctx, hw_scan, remain_on_channel) invoked by nl80211/generic-netlink WiFi management commands, not from remote WiFi frame processing.\nAC:L - An attacker with CAP_NET_ADMIN can repeatedly create AP/scan interfaces and race teardown to stress firmware WMI commands, reliably provoking vdev_create or peer-delete failures/timeouts on error rollback paths they control.\nPR:L - Triggering vdev creation requires nl80211 operations (NEW_INTERFACE, START_AP, TRIGGER_SCAN) gated by GENL_UNS_ADMIN_PERM; this capability is obtainable by an unprivileged user inside a user+network namespace via unshare -Urn.\nUI:N - Exploitation requires no action by another user; the attacker directly issues the nl80211 interface/scan operations that drive ath12k_mac_vdev_create() and its faulty error paths.\nS:U - The bug corrupts ath12k driver/kernel state on the same host; it does not cross a VM, container, or IOMMU security boundary to affect a separate security authority.\nC:H - Incomplete rollback leaves orphaned DP peers and stale vdev/arvif bookkeeping while firmware objects remain live, enabling heap corruption that can be leveraged for arbitrary kernel memory reads.\nI:H - Inconsistent is_created, vdev maps, and arvif list membership with uncleared DP peers permits subsequent driver operations on stale objects, enabling heap corruption and potential arbitrary kernel write or code execution.\nA:H - Error paths can leave is_created true with arvif->ar NULL while the arvif stays on arvifs; later nl80211-driven callbacks dereference arvif->ar unchecked, causing kernel NULL pointer oops/panic and persistent WiFi DoS."}]}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-10-15T10:08:59.224Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.13","versionEndExcluding":"6.18.57"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.13","versionEndExcluding":"7.1.5"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.13","versionEndExcluding":"7.2"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}},"adp":[{"title":"CISA ADP Vulnrichment","metrics":[{"other":{"type":"ssvc","content":{"id":"CVE-2026-74367","role":"CISA Coordinator","options":[{"Exploitation":"none"},{"Automatable":"no"},{"Technical Impact":"total"}],"version":"2.0.3","timestamp":"2026-10-16T18:54:40.536533Z"}}}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2026-10-16T18:55:35.898Z"}}]}}}