CVE-2024-35811: wifi: brcmfmac: Fix use-after-free bug in brcmf_cfg80211_detach

Published May 17, 2024
·
Updated

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

wifi: brcmfmac: Fix use-after-free bug in brcmfcfg80211detach

This is the candidate patch of CVE-2023-47233 : https://nvd.nist.gov/vuln/detail/CVE-2023-47233

In brcm80211 driver,it starts with the following invoking chain to start init a timeout worker:

->brcmfusbprobe ->brcmfusbprobecb ->brcmfattach ->brcmfbusstarted ->brcmfcfg80211attach ->wlinitpriv ->brcmfinitescan ->INITWORK(&cfg->escantimeoutwork, brcmfcfg80211escantimeoutworker);

If we disconnect the USB by hotplug, it will call brcmfusbdisconnect to make cleanup. The invoking chain is :

brcmfusbdisconnect ->brcmfusbdisconnectcb ->brcmfdetach ->brcmfcfg80211detach ->kfree(cfg);

While the timeout woker may still be running. This will cause a use-after-free bug on cfg in brcmfcfg80211escantimeoutworker.

Fix it by deleting the timer and canceling the worker in brcmfcfg80211detach.

[arend.vanspriel@broadcom.com: keep timer delete as is and cancel work just before free]

Affected Software

10 affected componentsFixes available
Linux Linux kernel>=3.7<4.19.312
Linux Linux kernel>=4.20<5.4.274
Linux Linux kernel>=5.5<5.10.215
Linux Linux kernel>=5.11<5.15.154
Linux Linux kernel>=5.16<6.1.84
Linux Linux kernel>=6.2<6.6.24
Linux Linux kernel>=6.7<6.7.12
Linux Linux kernel>=6.8<6.8.3
Debian Debian Linux=10.0
debian/linux
5.10.223-15.10.234-16.1.129-16.1.135-16.12.25-16.12.27-1

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade debian/linux to a version that resolves this vulnerability.

    Fixed in 5.10.223-1Fixed in 5.10.234-1Fixed in 6.1.129-1Fixed in 6.1.135-1Fixed in 6.12.25-1Fixed in 6.12.27-1
  2. Upgrade

    Upgrade linux kernel (wifi: brcmfmac) to a version that resolves this vulnerability.

    Patch CVE-2023-47233
  3. Configuration

    In brcmf_cfg80211_detach, keep timer deletion as-is, and cancel the escan timeout worker immediately before calling kfree(cfg), so brcmf_cfg80211_escan_timeout_worker cannot run on freed cfg during USB hotplug cleanup (use-after-free described in CVE-2023-47233).

    brcmfmac driver cfg->escan_timeout_work lifecycle management in brcmf_cfg80211_detach = delete timer and cancel worker before kfree(cfg)

Event History

May 17, 2024
CVE Published
via MITRE·01:23 PM
Data Sourced
via MITRE·01:23 PM
DescriptionSeverity
Data Sourced
via NVD·02:15 PM
RemedyDescriptionSeverityWeaknessAffected Software
Jun 8, 2024
Data Sourced
via Launchpad·01:15 AM
Description
Apr 29, 2025
Data Sourced
via Ubuntu·06:21 AM
RemedyDescriptionSeverityAffected Software

Frequently Asked Questions

1

What is the severity of CVE-2024-35811?

CVE-2024-35811 has been classified as a moderate severity vulnerability in the Linux kernel.

2

How do I fix CVE-2024-35811?

To fix CVE-2024-35811, upgrade the Linux kernel to the latest patched version provided by your distribution.

3

What systems are affected by CVE-2024-35811?

CVE-2024-35811 affects multiple versions of the Linux kernel, specifically versions between 3.7 and 6.8.3.

4

What type of vulnerability is CVE-2024-35811?

CVE-2024-35811 is classified as a use-after-free vulnerability in the brcmfmac driver of the Linux kernel.

5

Are there any known exploits for CVE-2024-35811?

As of now, there are no publicly known exploits for CVE-2024-35811.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203