CVE-2024-35811

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

State
Published
Severity
8.8 High
Published
May 17, 2024
Updated
Oct 15, 2026
Reserved
May 17, 2024

Read the record on cve.org

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]

Scores

CVSSScoreVectorSource
3.18.8 HighCVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HLinux

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • e756af5b30b008f6ffcfebf8ad0b477f6f225b62 to before 202c503935042272e2f9e1bb549d5f69a8681169Affected
  • e756af5b30b008f6ffcfebf8ad0b477f6f225b62 to before 8e3f03f4ef7c36091f46e7349096efb5a2cdb3a1Affected
  • e756af5b30b008f6ffcfebf8ad0b477f6f225b62 to before bacb8c3ab86dcd760c15903fcee58169bc3026aaAffected
  • e756af5b30b008f6ffcfebf8ad0b477f6f225b62 to before 8c36205123dc57349b59b4f1a2301eb278cbc731Affected
  • e756af5b30b008f6ffcfebf8ad0b477f6f225b62 to before 0b812f706fd7090be74812101114a0e165b36744Affected
  • e756af5b30b008f6ffcfebf8ad0b477f6f225b62 to before 190794848e2b9d15de92d502b6ac652806904f5aAffected
  • e756af5b30b008f6ffcfebf8ad0b477f6f225b62 to before 6678a1e7d896c00030b31491690e8ddc9a90767aAffected
  • e756af5b30b008f6ffcfebf8ad0b477f6f225b62 to before 0a7591e14a8da794d0b93b5d1c6254ccb23adacbAffected
  • e756af5b30b008f6ffcfebf8ad0b477f6f225b62 to before 0f7352557a35ab7888bc7831411ec8a3cbe20d78Affected
LinuxLinux
  • 3.7Affected
  • before 3.7Not affected
  • 4.19.312 through 4.19.*Not affected
  • 5.4.274 through 5.4.*Not affected
  • 5.10.215 through 5.10.*Not affected
  • 5.15.154 through 5.15.*Not affected
  • 6.1.84 through 6.1.*Not affected
  • 6.6.24 through 6.6.*Not affected
  • 6.7.12 through 6.7.*Not affected
  • 6.8.3 through 6.8.*Not affected
  • 6.9 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.