Skip to main content
← All vulnerabilities
CVE-2026-74367

wifi: ath12k: fix inconsistent arvif state in vdev_create error paths

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 6.18.57, 7.1.5
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: none
  • Automatable: no
  • Technical impact: total

Summary

In the Linux kernel, the following vulnerability has been resolved: wifi: ath12k: fix inconsistent arvif state in vdev_create error paths ath12k_mac_vdev_create() has three error path issues that leave arvif in an inconsistent state: 1. When ath12k_wmi_vdev_create() fails, the function returns directly without clearing arvif->ar, which was already set before the WMI call. Subsequent code checking arvif->ar to determine vdev readiness will see a non-NULL value despite no vdev existing in firmware. 2. When ath12k_wmi_send_peer_delete_cmd() fails in err_peer_del, the code jumped to err: skipping the DP peer cleanup and vdev rollback, leaving num_created_vdevs, vdev maps and arvif list membership live. 3. When ath12k_wait_for_peer_delete_done() fails, the code jumped to err_vdev_del: skipping the DP peer cleanup. Fix by changing the ath12k_wmi_vdev_create() failure to goto err instead of returning directly, routing both err_peer_del failure paths through err_dp_peer_del: for proper DP peer and vdev rollback, and consolidating the arvif state cleanup at err:. Tested-on: WCN7850 hw2.0 PCI WLAN.HMT.1.1.c5-00302-QCAHMTSWPL_V1.0_V2.0_SILICONZ-1.115823.3

Timeline

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: none · Automatable: no · Technical impact: total

  3. Record last updated

Affected versions

  • Linux Linux

    From 477cabfdb776b571fab425813c074f30c02a5cf6 · fixed in c09314b8b4c6290290a8a59c9e0e546231231186; From 477cabfdb776b571fab425813c074f30c02a5cf6 · fixed in e0140e094b196d92f2a4ce167ee73cbfab000290; From 477cabfdb776b571fab425813c074f30c02a5cf6 · fixed in c972636efc63f0f43d725b59805dd1ae5bc4b31e

  • Linux Linux

    6.13

  • KernelLinux

    From 6.13.0 · fixed in 6.18.57; From 6.19.0 · fixed in 7.1.5

References 3

git.kernel.org