CVE-2024-35811

Source
https://nvd.nist.gov/vuln/detail/CVE-2024-35811
Import Source
https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2024-35811.json
JSON Data
https://api.test.osv.dev/v1/vulns/CVE-2024-35811
Downstream
Related
Published
2024-05-17T13:23:17.508Z
Modified
2025-11-27T02:32:13.466560Z
Summary
wifi: brcmfmac: Fix use-after-free bug in brcmf_cfg80211_detach
Details

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, brcmfcfg80211escantimeout_worker);

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]

Database specific
{
    "cna_assigner": "Linux",
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/blob/cc431b3424123d84bcd7afd4de150b33f117a8ef/cves/2024/35xxx/CVE-2024-35811.json"
}
References

Affected packages

Git / git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git

Affected ranges

Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
e756af5b30b008f6ffcfebf8ad0b477f6f225b62
Fixed
202c503935042272e2f9e1bb549d5f69a8681169
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
e756af5b30b008f6ffcfebf8ad0b477f6f225b62
Fixed
8e3f03f4ef7c36091f46e7349096efb5a2cdb3a1
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
e756af5b30b008f6ffcfebf8ad0b477f6f225b62
Fixed
bacb8c3ab86dcd760c15903fcee58169bc3026aa
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
e756af5b30b008f6ffcfebf8ad0b477f6f225b62
Fixed
8c36205123dc57349b59b4f1a2301eb278cbc731
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
e756af5b30b008f6ffcfebf8ad0b477f6f225b62
Fixed
0b812f706fd7090be74812101114a0e165b36744
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
e756af5b30b008f6ffcfebf8ad0b477f6f225b62
Fixed
190794848e2b9d15de92d502b6ac652806904f5a
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
e756af5b30b008f6ffcfebf8ad0b477f6f225b62
Fixed
6678a1e7d896c00030b31491690e8ddc9a90767a
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
e756af5b30b008f6ffcfebf8ad0b477f6f225b62
Fixed
0a7591e14a8da794d0b93b5d1c6254ccb23adacb
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
e756af5b30b008f6ffcfebf8ad0b477f6f225b62
Fixed
0f7352557a35ab7888bc7831411ec8a3cbe20d78

Linux / Kernel

Package

Name
Kernel

Affected ranges

Type
ECOSYSTEM
Events
Introduced
3.7.0
Fixed
4.19.312
Type
ECOSYSTEM
Events
Introduced
4.20.0
Fixed
5.4.274
Type
ECOSYSTEM
Events
Introduced
5.5.0
Fixed
5.10.215
Type
ECOSYSTEM
Events
Introduced
5.11.0
Fixed
5.15.154
Type
ECOSYSTEM
Events
Introduced
5.16.0
Fixed
6.1.84
Type
ECOSYSTEM
Events
Introduced
6.2.0
Fixed
6.6.24
Type
ECOSYSTEM
Events
Introduced
6.7.0
Fixed
6.7.12
Type
ECOSYSTEM
Events
Introduced
6.8.0
Fixed
6.8.3