CVE-2024-35811

Severity CVSS v4.0:
Pending analysis
Type:
CWE-416 Use After Free
Publication date:
17/05/2024
Last modified:
14/01/2025

Description

In the Linux kernel, the following vulnerability has been resolved:<br /> <br /> wifi: brcmfmac: Fix use-after-free bug in brcmf_cfg80211_detach<br /> <br /> This is the candidate patch of CVE-2023-47233 :<br /> https://nvd.nist.gov/vuln/detail/CVE-2023-47233<br /> <br /> In brcm80211 driver,it starts with the following invoking chain<br /> to start init a timeout worker:<br /> <br /> -&gt;brcmf_usb_probe<br /> -&gt;brcmf_usb_probe_cb<br /> -&gt;brcmf_attach<br /> -&gt;brcmf_bus_started<br /> -&gt;brcmf_cfg80211_attach<br /> -&gt;wl_init_priv<br /> -&gt;brcmf_init_escan<br /> -&gt;INIT_WORK(&amp;cfg-&gt;escan_timeout_work,<br /> brcmf_cfg80211_escan_timeout_worker);<br /> <br /> If we disconnect the USB by hotplug, it will call<br /> brcmf_usb_disconnect to make cleanup. The invoking chain is :<br /> <br /> brcmf_usb_disconnect<br /> -&gt;brcmf_usb_disconnect_cb<br /> -&gt;brcmf_detach<br /> -&gt;brcmf_cfg80211_detach<br /> -&gt;kfree(cfg);<br /> <br /> While the timeout woker may still be running. This will cause<br /> a use-after-free bug on cfg in brcmf_cfg80211_escan_timeout_worker.<br /> <br /> Fix it by deleting the timer and canceling the worker in<br /> brcmf_cfg80211_detach.<br /> <br /> [arend.vanspriel@broadcom.com: keep timer delete as is and cancel work just before free]

Vulnerable products and versions

CPE From Up to
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 3.7 (including) 4.19.312 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 4.20 (including) 5.4.274 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 5.5 (including) 5.10.215 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 5.11 (including) 5.15.154 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 5.16 (including) 6.1.84 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.2 (including) 6.6.24 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.7 (including) 6.7.12 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.8 (including) 6.8.3 (excluding)
cpe:2.3:o:debian:debian_linux:10.0:*:*:*:*:*:*:*