CVE-2026-68191

Source
https://cve.org/CVERecord?id=CVE-2026-68191
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-68191.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2026-68191
Downstream
Published
2026-08-10T12:00:09.069Z
Modified
2026-08-12T04:18:46.384532865Z
Summary
wifi: ath12k: fix NULL pointer dereference in rhash table destroy
Details

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

wifi: ath12k: fix NULL pointer dereference in rhash table destroy

When unbinding the ath12k driver, kernel NULL pointer dereferences occur in irqworksync() called from rhashtable_destroy().

Two hash tables are affected: 1. ath12klinksta hash table in ath12kbase 2. ath12kdplinkpeer hash table in ath12k_dp

The issue happens because the destroy functions are called unconditionally in cleanup paths, but the hash tables are only initialized late in their respective init functions. If the device was never fully started or if the init functions failed before initializing the hash tables, the pointers will be NULL. The issues are always reproducible from a VM because the MSI addressing initialization is failing.

Call trace for ath12klinkstarhashtbldestroy: RIP: irqworksync+0x1e/0x70 rhashtabledestroy+0x12/0x60 ath12klinkstarhashtbldestroy+0x19/0x40 [ath12k] ath12kcorestop+0xe/0x80 [ath12k] ath12kcorehwgroupcleanup+0x6b/0xb0 [ath12k] ath12kpci_remove+0x60/0x110 [ath12k]

Call trace for ath12kdplinkpeerrhashtbldestroy: RIP: irqworksync+0x1e/0x70 rhashtabledestroy+0x12/0x60 ath12kdplinkpeerrhashtbldestroy+0x29/0x50 [ath12k] ath12kdpcmndevicedeinit+0x21/0x140 [ath12k] ath12kcorehwgroupcleanup+0x6b/0xb0 [ath12k] ath12kpci_remove+0x60/0x110 [ath12k]

Fix this by adding NULL checks before calling rhashtable_destroy() in both destroy functions.

The NULL check approach was chosen because the rhashtable pointer serves as the initialization state indicator. The init can fail at various points, leaving some components uninitialized. Checking the pointer directly is simpler than adding separate state flags that would need synchronization.

Database specific
{
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/68xxx/CVE-2026-68191.json",
    "cna_assigner": "Linux"
}
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
57ccca410237285f8f25a988655e6910cadc63f2
Fixed
17a4298f7794843af0094035723dc5e7311c7453
Fixed
70231dcd782201579990ded73e0435d18bb524ca

Database specific

source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-68191.json"

Linux / Kernel

Package

Name
Kernel

Affected ranges

Type
ECOSYSTEM
Events
Introduced
7.0.0
Fixed
7.1.6

Database specific

source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-68191.json"