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

wifi: cfg80211: convert pmsr_free_wk to wiphy_work to fix deadlock

When a netlink socket that owns a PMSR session is closed,
cfg80211_release_pmsr() clears the request's nl_portid and queues
pmsr_free_wk to call cfg80211_pmsr_process_abort() asynchronously.

If the interface tears down concurrently, cfg80211_pmsr_wdev_down()
is called under wiphy_lock and calls cancel_work_sync(&pmsr_free_wk)
to wait for any running work. The work function acquires wiphy_lock
via guard(wiphy) before calling process_abort.

This is a deadlock: wdev_down holds wiphy_lock and blocks inside
cancel_work_sync(); pmsr_free_wk blocks trying to acquire that same
wiphy_lock. Neither thread can proceed.

The same deadlock is reachable from cfg80211_leave_locked(), which
calls cfg80211_pmsr_wdev_down() for all interface types under
wiphy_lock.

Fix this by converting pmsr_free_wk from a plain work_struct to a
wiphy_work. The wiphy_work dispatcher holds wiphy_lock when running
work items, so the explicit guard(wiphy) in the work function is no
longer needed. wiphy_work_cancel() can be called safely while holding
wiphy_lock - since wiphy_lock prevents the work from running
concurrently, wiphy_work_cancel() never blocks, eliminating the
deadlock.

Remove the cancel_work_sync() for pmsr_free_wk from the
NETDEV_GOING_DOWN handler. cfg80211_leave(), called unconditionally
just before it, already cancels any pending work under wiphy_lock
via wiphy_work_cancel() inside cfg80211_pmsr_wdev_down().
Published: 2026-08-10
Score: n/a
EPSS: n/a
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The Linux kernel’s wireless configuration subsystem contains a race that can deadlock the kernel. When a netlink socket that owns a PMSR session is closed while the interface is being torn down, the scheduler must cancel work that also requires the same wiphy_lock. The work function and the teardown path lock the same resource in conflicting ways, so neither thread can proceed. Operating systems running this code can therefore hang or crash in response to that timing collision. The vulnerability is a classic race leading to a deadlock (CWE‑362) and a system‑level denial of service.

Affected Systems

All Linux kernel distributions that include the legacy cfg80211 implementation of pmsr_free_wk are impacted. The fix converts the work structure to a wiphy_work, and the change is present in various kernel versions after commit 21512b5f7a74fd18c996c22e6854efe57d570816. Therefore, any kernel prior to that commit on any major distribution—Debian, Ubuntu, Red Hat, CentOS, Fedora, Arch, etc.—is considered vulnerable until the patch is applied. No specific version range is published, so the safe assumption is that all kernels that have not yet merged this commit are affected.

Risk and Exploitability

The CVSS score and EPSS are not publicly disclosed, and the vulnerability is not in the CISA KEV catalog. Exploitability is inferred: an attacker must initiate a concurrent netlink socket close and interface shutdown, a scenario that generally requires local or elevated privileges to manipulate network interfaces or to run privileged processes that interact with the kernel. Because the trigger requires direct interaction with kernel internals, it is unlikely to be exploitable remotely without higher privileges. The risk is therefore moderate, with a relatively high impact (system lockup or crash) if the scenario is triggered within a privileged context.

Generated by OpenCVE AI on August 10, 2026 at 16:53 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Apply a kernel update that includes commit 21512b5f7a74fd18c996c22e6854efe57d570816 or later, which converts pmsr_free_wk to a wiphy_work and removes the deadlock.
  • If upgrading the kernel is not immediately possible, consider disabling or removing wireless interfaces that exercise the PMSR path, or isolate those interfaces in a separate network namespace to limit the opportunity for the race condition.
  • After applying the patch or mitigation, restart the affected networking services and monitor kernel logs for any signs of deadlock or lockup.

Generated by OpenCVE AI on August 10, 2026 at 16:53 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Mon, 10 Aug 2026 17:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-362

Mon, 10 Aug 2026 12:30:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: wifi: cfg80211: convert pmsr_free_wk to wiphy_work to fix deadlock When a netlink socket that owns a PMSR session is closed, cfg80211_release_pmsr() clears the request's nl_portid and queues pmsr_free_wk to call cfg80211_pmsr_process_abort() asynchronously. If the interface tears down concurrently, cfg80211_pmsr_wdev_down() is called under wiphy_lock and calls cancel_work_sync(&pmsr_free_wk) to wait for any running work. The work function acquires wiphy_lock via guard(wiphy) before calling process_abort. This is a deadlock: wdev_down holds wiphy_lock and blocks inside cancel_work_sync(); pmsr_free_wk blocks trying to acquire that same wiphy_lock. Neither thread can proceed. The same deadlock is reachable from cfg80211_leave_locked(), which calls cfg80211_pmsr_wdev_down() for all interface types under wiphy_lock. Fix this by converting pmsr_free_wk from a plain work_struct to a wiphy_work. The wiphy_work dispatcher holds wiphy_lock when running work items, so the explicit guard(wiphy) in the work function is no longer needed. wiphy_work_cancel() can be called safely while holding wiphy_lock - since wiphy_lock prevents the work from running concurrently, wiphy_work_cancel() never blocks, eliminating the deadlock. Remove the cancel_work_sync() for pmsr_free_wk from the NETDEV_GOING_DOWN handler. cfg80211_leave(), called unconditionally just before it, already cancels any pending work under wiphy_lock via wiphy_work_cancel() inside cfg80211_pmsr_wdev_down().
Title wifi: cfg80211: convert pmsr_free_wk to wiphy_work to fix deadlock
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-08-10T12:04:28.172Z

Reserved: 2026-07-30T09:28:09.390Z

Link: CVE-2026-68408

cve-icon Vulnrichment

No data.

cve-icon NVD

No data.

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-11T01:30:04Z

Weaknesses
  • CWE-362

    Concurrent Execution using Shared Resource with Improper Synchronization ('Race Condition')