CVE-2024-35811

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

MEDIUM
5.5
CVSS Score
Published: May 17, 2024 at 01:23 PM UTC
Updated: October 15, 2026 at 01:17 AM UTC
3 products affected across 3 vendorsLinux KernelDebian LinuxSIMATIC S7-1500 TM MFP

Using Linux by Linux?

Get instant alerts when new vulnerabilities affect Linux - before attackers find them.

Real-time alertsTrack your software stackFree plan available
Severity
MEDIUM5.5
Exploit prediction
EPSS 0.4%
SSVC
No known exploit

Description

In the Linux kernel, the following vulnerability has been resolved: wifi: brcmfmac: Fix use-after-free bug in brcmf_cfg80211_detach 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: ->brcmf_usb_probe ->brcmf_usb_probe_cb ->brcmf_attach ->brcmf_bus_started ->brcmf_cfg80211_attach ->wl_init_priv ->brcmf_init_escan ->INIT_WORK(&cfg->escan_timeout_work, brcmf_cfg80211_escan_timeout_worker); If we disconnect the USB by hotplug, it will call brcmf_usb_disconnect to make cleanup. The invoking chain is : brcmf_usb_disconnect ->brcmf_usb_disconnect_cb ->brcmf_detach ->brcmf_cfg80211_detach ->kfree(cfg); While the timeout woker may still be running. This will cause a use-after-free bug on cfg in brcmf_cfg80211_escan_timeout_worker. Fix it by deleting the timer and canceling the worker in brcmf_cfg80211_detach. [[email protected]: keep timer delete as is and cancel work just before free]

Affected

Our own answer: ranges merged, affected separated from platform-only, with confidence and review flags.

All versions3.7 ≤ v < 4.19.3124.20 ≤ v < 5.4.2745.11 ≤ v < 5.15.1545.16 ≤ v < 6.1.845.5 ≤ v < 5.10.2156.2 ≤ v < 6.6.246.7 ≤ v < 6.7.126.8 ≤ v < 6.8.33.7e756af5b30b008f6ffcfebf8ad0b477f6f225b62
Vendor states this is fixed in 0a7591e14a8da794d0b93b5d1c6254ccb23adacb (fixed)
Vendor states this is fixed in 0b812f706fd7090be74812101114a0e165b36744 (fixed)
Vendor states this is fixed in 0f7352557a35ab7888bc7831411ec8a3cbe20d78 (fixed)
Vendor states this is fixed in 190794848e2b9d15de92d502b6ac652806904f5a (fixed)
Vendor states this is fixed in 202c503935042272e2f9e1bb549d5f69a8681169 (fixed)
Vendor states this is fixed in 6678a1e7d896c00030b31491690e8ddc9a90767a (fixed)
Vendor states this is fixed in 8c36205123dc57349b59b4f1a2301eb278cbc731 (fixed)
Vendor states this is fixed in 8e3f03f4ef7c36091f46e7349096efb5a2cdb3a1 (fixed)
Vendor states this is fixed in bacb8c3ab86dcd760c15903fcee58169bc3026aa (fixed)
Vendor states this is fixed in 3.7 (unaffected)
Vendor states this is fixed in 4.19.312 (unaffected)
Vendor states this is fixed in 5.10.215 (unaffected)
Vendor states this is fixed in 5.15.154 (unaffected)
Vendor states this is fixed in 5.4.274 (unaffected)
Vendor states this is fixed in 6.1.84 (unaffected)
Vendor states this is fixed in 6.6.24 (unaffected)
Vendor states this is fixed in 6.7.12 (unaffected)
Vendor states this is fixed in 6.8.3 (unaffected)
Vendor states this is fixed in 6.9 (unaffected)

References (12)

Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/0a7591e14a8da794d0b93b5d1c6254ccb23adacb
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/0b812f706fd7090be74812101114a0e165b36744
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/0f7352557a35ab7888bc7831411ec8a3cbe20d78
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/190794848e2b9d15de92d502b6ac652806904f5a
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/202c503935042272e2f9e1bb549d5f69a8681169
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/6678a1e7d896c00030b31491690e8ddc9a90767a
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/8c36205123dc57349b59b4f1a2301eb278cbc731
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/8e3f03f4ef7c36091f46e7349096efb5a2cdb3a1

SSVC — Action Prioritization

SSVCNo known exploitNot automatablePartial impact

SSVC signals action urgency (what to patch first), separate from CVSS which measures severity.

CVSS

Attack Vector
LOCAL
Complexity
LOW
Privileges
LOW
User Interaction
NONE
Scope
UNCHANGED
Confidentiality
NONE
Integrity
NONE
Availability
HIGH
Vector?

Quick Info

StatusMODIFIED
CWE
CWE-416

Get alerted

Stop reading CVE feeds looking for your own stack

Track the products you run and VulnTracker tells you when a new CVE affects them — with what is known about fixing it, and nothing about the rest.

Free plan, no card