wifi: brcmfmac: Fix use-after-free bug in brcmf_cfg80211_detach (Linux Linux)
At a glance
- Source
- NVD
- EPSS
- EPSS 0.35 % · percentile 29 ()
- State
- PUBLISHED
- Published
- Updated
- Assigner
- Linux
- NVD status
- Modified
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. [arend.vanspriel@broadcom.com: keep timer delete as is and cancel work just before free]
Weaknesses (CWE)
- CWE-416 — Use After Free
References
- https://git.kernel.org/stable/c/202c503935042272e2f9e1bb549d5f69a8681169
- https://git.kernel.org/stable/c/8e3f03f4ef7c36091f46e7349096efb5a2cdb3a1
- https://git.kernel.org/stable/c/bacb8c3ab86dcd760c15903fcee58169bc3026aa
- https://git.kernel.org/stable/c/8c36205123dc57349b59b4f1a2301eb278cbc731
- https://git.kernel.org/stable/c/0b812f706fd7090be74812101114a0e165b36744
- https://git.kernel.org/stable/c/190794848e2b9d15de92d502b6ac652806904f5a
- https://git.kernel.org/stable/c/6678a1e7d896c00030b31491690e8ddc9a90767a
- https://git.kernel.org/stable/c/0a7591e14a8da794d0b93b5d1c6254ccb23adacb
- https://git.kernel.org/stable/c/0f7352557a35ab7888bc7831411ec8a3cbe20d78
- https://lists.debian.org/debian-lts-announce/2024/06/msg00017.html
- https://lists.debian.org/debian-lts-announce/2024/06/msg00020.html
- https://cert-portal.siemens.com/productcert/html/ssa-265688.html
Scores
| Version | Score | Vector | Scored by |
|---|---|---|---|
| CVSS 3.1 | HIGH 8.8 | CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H | Linux |
| CVSS 3.1 | HIGH 8.8 | CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H | NVD · 416baaa9-dc9f-4396-8d5f-8c081fb06d67 (Secondary) |
| CVSS 3.1 | MEDIUM 5.5 | CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H | NVD · nvd@nist.gov (Primary) |
European references
- ENISA EUVD · EUVD-2024-35803
- GCVE · GCVE-0-2024-35811
CERT-FR advisories
- CERTFR-2025-AVI-0529 — Multiples vulnérabilités dans le noyau Linux de SUSE · cert.ssi.gouv.fr
- CERTFR-2025-AVI-0088 — Multiples vulnérabilités dans le noyau Linux de SUSE · cert.ssi.gouv.fr
- CERTFR-2024-AVI-0717 — Multiples vulnérabilités dans le noyau Linux de SUSE · cert.ssi.gouv.fr
- CERTFR-2024-AVI-0546 — Multiples vulnérabilités dans le noyau Linux d'Ubuntu · cert.ssi.gouv.fr
- CERTFR-2024-AVI-0527 — Multiples vulnérabilités dans le noyau Linux de Debian LTS · cert.ssi.gouv.fr
- CERTFR-2024-AVI-0526 — Multiples vulnérabilités dans le noyau Linux de SUSE · cert.ssi.gouv.fr
- CERTFR-2024-AVI-0496 — Multiples vulnérabilités dans le noyau Linux de SUSE · cert.ssi.gouv.fr
Affected configurations (NVD CPE)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*≥ 3.7 < 4.19.312cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*≥ 4.20 < 5.4.274cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*≥ 5.5 < 5.10.215cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*≥ 5.11 < 5.15.154cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*≥ 5.16 < 6.1.84cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*≥ 6.2 < 6.6.24cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*≥ 6.7 < 6.7.12cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*≥ 6.8 < 6.8.3cpe:2.3:o:debian:debian_linux:10.0:*:*:*:*:*:*:*
Affected products
| Product | Versions |
|---|---|
| Linux · Linux | affected e756af5b30b008f6ffcfebf8ad0b477f6f225b62 < 202c503935042272e2f9e1bb549d5f69a8681169 ; affected e756af5b30b008f6ffcfebf8ad0b477f6f225b62 < 8e3f03f4ef7c36091f46e7349096efb5a2cdb3a1 ; affected e756af5b30b008f6ffcfebf8ad0b477f6f225b62 < bacb8c3ab86dcd760c15903fcee58169bc3026aa ; affected e756af5b30b008f6ffcfebf8ad0b477f6f225b62 < 8c36205123dc57349b59b4f1a2301eb278cbc731 ; affected e756af5b30b008f6ffcfebf8ad0b477f6f225b62 < 0b812f706fd7090be74812101114a0e165b36744 ; affected e756af5b30b008f6ffcfebf8ad0b477f6f225b62 < 190794848e2b9d15de92d502b6ac652806904f5a |
| Linux · Linux | affected 3.7 ; unaffected 0 < 3.7 ; unaffected 4.19.312 ≤ 4.19.* ; unaffected 5.4.274 ≤ 5.4.* ; unaffected 5.10.215 ≤ 5.10.* ; unaffected 5.15.154 ≤ 5.15.* |
Sources
| Source | Licence |
|---|---|
| CVE List (CVEProject cvelistV5) | CVE Program Terms of Use |
| EPSS (FIRST.org) | FIRST — attribution requested |
| ENISA EUVD | ENISA — reproduction authorised, source acknowledged |
| CERT-FR (ANSSI) | Licence Ouverte / Etalab 2.0 |
| NVD (NIST) via fkie-cad/nvd-json-data-feeds | Public domain — this product uses data from the NVD API but is not endorsed or certified by the NVD |