# CVE-2026-68404: wifi: cfg80211: use wiphy work for socket owner autodisconnect

> A race condition in the Linux kernel WiFi subsystem can lead to a use-after-free or crash when a socket is released during device teardown.

- **Severity:** High 7.8 (`CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H`)
- **Exploited in the wild:** Not known
- **Login needed:** Any signed-in user
- **Attackable:** Local or same network only
- **Victim action needed:** Not needed
- **Fix available:** Yes
- **Published:** 10 Aug 2026
- **Updated:** 21 Oct 2026
- **Also known as:** AZL-95021, BELL-CVE-2026-68404, DEBIAN-CVE-2026-68404, GHSA-qhv7-v7h4-97x3, UBUNTU-CVE-2026-68404

## What is CVE-2026-68404?

CVE-2026-68404 is a high-severity vulnerability in Linux, published on 10 Aug 2026. It can only be exploited from the same machine or local network, with no action from the victim.

### Official description

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

wifi: cfg80211: use wiphy work for socket owner autodisconnect

nl80211_netlink_notify() walks the cfg80211 wireless device list when a
NETLINK_GENERIC socket is released. If the socket owns a connection, the
notifier queues the embedded wdev->disconnect_wk work item.

That work is a plain work_struct today. NETDEV_GOING_DOWN cancels it, but a
NETLINK_URELEASE notifier that already observed conn_owner_nlportid can
queue it after that cancel returns. _cfg80211_unregister_wdev() then
removes the wdev from the list and waits for RCU readers, but
synchronize_net() does not drain work queued by such a reader.

Make the autodisconnect work a wiphy_work instead. The callback already
needs the wiphy mutex, and wiphy_work runs under that mutex. This lets
teardown cancel pending autodisconnect work while holding the mutex,
without a cancel_work_sync() vs. worker locking concern.

Also cancel the wiphy work after list_del_rcu() and synchronize_net(). Any
NETLINK_URELEASE notifier that had already reached the wdev list has then
either queued the work and it is removed, or can no longer find the wdev.

Weakness: CWE-662 (Improper Synchronization)

## Which versions are affected by CVE-2026-68404?


## How do I fix CVE-2026-68404?

Apply the vendor's patch.

## Is CVE-2026-68404 being exploited?

There is no known exploitation of CVE-2026-68404 in the wild and no public exploit code.

## Fix prompt for AI coding agents

```text
Check this codebase for CVE-2026-68404 and fix it if it is affected.

What it is: CVE-2026-68404 is a high-severity vulnerability in Linux, published on 10 Aug 2026. It can only be exploited from the same machine or local network, with no action from the victim.
Exploitation: There is no known exploitation of CVE-2026-68404 in the wild and no public exploit code.

Affected product: Linux. No package-level version data is available, so check the vendor advisory linked from the reference page.

Task:
1. Search the dependency manifests and lockfiles (for example package.json, package-lock.json, requirements.txt, poetry.lock, uv.lock, pom.xml, build.gradle, go.mod, Cargo.lock, Gemfile.lock) and any Dockerfiles for the affected packages, including transitive dependencies.
2. If an affected version is in use, upgrade it to the fixed version for its release line with the project's package manager, so the lockfile is regenerated. Prefer the smallest upgrade that fixes it.
3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.
4. Run the tests and summarise what changed and why.
5. If nothing in the project is affected, say so and change nothing.

Reference: https://insights.sbomify.com/CVE-2026-68404/ (Markdown: https://insights.sbomify.com/CVE-2026-68404/index.md)
```

## Sources

- CVE record: https://www.cve.org/CVERecord?id=CVE-2026-68404
- NVD: https://nvd.nist.gov/vuln/detail/CVE-2026-68404
- OSV: https://osv.dev/vulnerability/CVE-2026-68404

---
From sbomify Insights: https://insights.sbomify.com/CVE-2026-68404/
Summaries are generated and may contain mistakes; the official description above is the record.
