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

wifi: brcmfmac: initialize SDIO data work before cleanup

brcmf_sdio_probe() stores the newly allocated bus in sdiodev->bus before
allocating the ordered workqueue. If that allocation fails, the function
jumps to fail and calls brcmf_sdio_remove().

brcmf_sdio_remove() unconditionally cancels bus->datawork. Initialize the
work item before the first failure path that can reach brcmf_sdio_remove(),
so the cleanup path always observes a valid work object.

This issue was found by our static analysis tool and then confirmed by
manual review of the probe error path and the remove-time work drain. The
problem pattern is an early setup failure that reaches a cleanup helper
which cancels an embedded work item before its initializer has run.

A QEMU PoC forced alloc_ordered_workqueue() to fail at the same point in
brcmf_sdio_probe(), before INIT_WORK(&bus->datawork) is reached. The
resulting fail path calls brcmf_sdio_remove(), and DEBUG_OBJECTS reports
the invalid work drain with brcmf_sdio_probe() and brcmf_sdio_remove() in
the stack.
Published: 2026-08-10
Score: n/a
EPSS: n/a
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

An issue within the Linux kernel’s brcmfmac SDIO driver allows device removal code to cancel an uninitialized work queue item. This misordering can trigger a crash during driver probe failure or removal, potentially causing a system-wide failure or offering a local attack surface for denial of service.

Affected Systems

The vulnerability affects all Linux kernel builds that include the brcmfmac SDIO driver, regardless of specific kernel version. It is a kernel‑level fault and would manifest on machines that load this driver for wireless SDIO devices.

Risk and Exploitability

The CVSS score is not provided, and the EPSS entry is unavailable, making precise quantification difficult. The vulnerability is not included in the CISA KEV catalog, suggesting no widespread exploitation reported. Nonetheless, because the flaw only triggers on driver probe or removal pathways, it is likely exploitable locally by an attacker able to reboot the device, insert a faulty SDIO peripheral, or otherwise force the probe failure. The high impact of a kernel crash warrants a cautious stance. The attack vector appears to involve device-level interaction; due to the lack of external attack evidence, the risk primarily concerns local or privileged users.

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

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade the kernel to a distribution release that contains the brcmfmac patch initializing SDIO data work before cleanup.
  • If a kernel update is not immediately possible, disable the brcmfmac SDIO driver by adding a blacklist entry or setting the ‘no_sdio’ module option to true in the appropriate modprobe configuration.
  • Continuously monitor kernel logs for SDIO‑related errors and verify that the driver does not attempt to cancel uninitialized work items.

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

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

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

Type Values Removed Values Added
Weaknesses CWE-457

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: brcmfmac: initialize SDIO data work before cleanup brcmf_sdio_probe() stores the newly allocated bus in sdiodev->bus before allocating the ordered workqueue. If that allocation fails, the function jumps to fail and calls brcmf_sdio_remove(). brcmf_sdio_remove() unconditionally cancels bus->datawork. Initialize the work item before the first failure path that can reach brcmf_sdio_remove(), so the cleanup path always observes a valid work object. This issue was found by our static analysis tool and then confirmed by manual review of the probe error path and the remove-time work drain. The problem pattern is an early setup failure that reaches a cleanup helper which cancels an embedded work item before its initializer has run. A QEMU PoC forced alloc_ordered_workqueue() to fail at the same point in brcmf_sdio_probe(), before INIT_WORK(&bus->datawork) is reached. The resulting fail path calls brcmf_sdio_remove(), and DEBUG_OBJECTS reports the invalid work drain with brcmf_sdio_probe() and brcmf_sdio_remove() in the stack.
Title wifi: brcmfmac: initialize SDIO data work before cleanup
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:23.150Z

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

Link: CVE-2026-68403

cve-icon Vulnrichment

No data.

cve-icon NVD

No data.

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-10T16:15:04Z

Weaknesses
  • CWE-457

    Use of Uninitialized Variable