wifi: brcmfmac: fix NULL pointer dereference in brcmf_txfinalize() (Linux Linux)
At a glance
- Source
- NVD
- EPSS
- EPSS 0.25 % · percentile 17 ()
- State
- PUBLISHED
- Published
- Updated
- Assigner
- Linux
- NVD status
- Modified
Description
In the Linux kernel, the following vulnerability has been resolved: wifi: brcmfmac: fix NULL pointer dereference in brcmf_txfinalize() On removal of the device or unloading of the kernel module a potential NULL pointer dereference occurs. The following sequence deletes the interface: brcmf_detach() brcmf_remove_interface() brcmf_del_if() Inside the brcmf_del_if() function the drvr->if2bss[ifidx] is updated to BRCMF_BSSIDX_INVALID (-1) if the bsscfgidx matches. After brcmf_remove_interface() call the brcmf_proto_detach() function is called providing the following sequence: brcmf_detach() brcmf_proto_detach() brcmf_proto_msgbuf_detach() brcmf_flowring_detach() brcmf_msgbuf_delete_flowring() brcmf_msgbuf_remove_flowring() brcmf_flowring_delete() brcmf_get_ifp() brcmf_txfinalize() Since brcmf_get_ip() can and actually will return NULL in this case the call to brcmf_txfinalize() will result in a NULL pointer dereference inside brcmf_txfinalize() when trying to update ifp->ndev->stats.tx_errors. This will only happen if a flowring still has an skb. Although the NULL pointer dereference has only been seen when trying to update the tx statistic, all other uses of the ifp pointer have been guarded as well with an early return if ifp is NULL.
Weaknesses (CWE)
- CWE-476 — NULL Pointer Dereference
References
- https://git.kernel.org/stable/c/2326e19190e176fd72bb542b837a9d2b7fcb8693
- https://git.kernel.org/stable/c/59ff4fa653ff6db07c61152516ffba79c2a74bda
- https://git.kernel.org/stable/c/61541d9b5a23df33934fcc620a3a81f246b1b240
- https://git.kernel.org/stable/c/4e51d6d093e763348916e69d06d87e0a5593661b
- https://git.kernel.org/stable/c/3877fc67bd3d5566cc12763bce39710ceb74a97d
- https://git.kernel.org/stable/c/fbbfef2a5b858eab55741a58b2ac9a0cc8d53c58
- https://git.kernel.org/stable/c/a2beefc4fa49ebc22e664dc6b39dbd054f8488f9
- https://git.kernel.org/stable/c/68abd0c4ebf24cd499841a488b97a6873d5efabb
- https://lists.debian.org/debian-lts-announce/2025/05/msg00030.html
- https://lists.debian.org/debian-lts-announce/2025/03/msg00028.html
- https://cert-portal.siemens.com/productcert/html/ssa-265688.html
- https://cert-portal.siemens.com/productcert/html/ssa-784472.html
Scores
| Version | Score | Vector | Scored by |
|---|---|---|---|
| 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-2025-5172
- GCVE · GCVE-0-2025-21744
CERT-FR advisories
- CERTFR-2026-AVI-1298 — Multiples vulnérabilités dans les produits Siemens · cert.ssi.gouv.fr
- CERTFR-2025-AVI-0969 — Multiples vulnérabilités dans les produits VMware · cert.ssi.gouv.fr
- CERTFR-2025-AVI-0758 — Multiples vulnérabilités dans le noyau Linux d'Ubuntu · cert.ssi.gouv.fr
- CERTFR-2025-AVI-0625 — Multiples vulnérabilités dans le noyau Linux d'Ubuntu · cert.ssi.gouv.fr
- CERTFR-2025-AVI-0605 — Multiples vulnérabilités dans le noyau Linux d'Ubuntu · cert.ssi.gouv.fr
- CERTFR-2025-AVI-0559 — Multiples vulnérabilités dans le noyau Linux d'Ubuntu · cert.ssi.gouv.fr
- CERTFR-2025-AVI-0509 — Multiples vulnérabilités dans le noyau Linux de SUSE · cert.ssi.gouv.fr
- CERTFR-2025-AVI-0463 — Multiples vulnérabilités dans le noyau Linux de Debian LTS · cert.ssi.gouv.fr
- CERTFR-2025-AVI-0336 — Multiples vulnérabilités dans le noyau Linux de SUSE · cert.ssi.gouv.fr
- CERTFR-2025-AVI-0307 — Multiples vulnérabilités dans le noyau Linux de SUSE · cert.ssi.gouv.fr
- CERTFR-2025-AVI-0277 — Multiples vulnérabilités dans le noyau Linux de Debian LTS · cert.ssi.gouv.fr
Affected configurations (NVD CPE)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*< 6.1.129cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*≥ 6.2 < 6.6.78cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*≥ 6.7 < 6.12.14cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*≥ 6.13 < 6.13.3
Affected products
| Product | Versions |
|---|---|
| Linux · Linux | affected 7f00ee2bbc630900ba16fc2690473f3e2db0e264 < 2326e19190e176fd72bb542b837a9d2b7fcb8693 ; affected 7f00ee2bbc630900ba16fc2690473f3e2db0e264 < 59ff4fa653ff6db07c61152516ffba79c2a74bda ; affected 7f00ee2bbc630900ba16fc2690473f3e2db0e264 < 61541d9b5a23df33934fcc620a3a81f246b1b240 ; affected 7f00ee2bbc630900ba16fc2690473f3e2db0e264 < 4e51d6d093e763348916e69d06d87e0a5593661b ; affected 7f00ee2bbc630900ba16fc2690473f3e2db0e264 < 3877fc67bd3d5566cc12763bce39710ceb74a97d ; affected 7f00ee2bbc630900ba16fc2690473f3e2db0e264 < fbbfef2a5b858eab55741a58b2ac9a0cc8d53c58 |
| Linux · Linux | affected 4.9 ; unaffected 0 < 4.9 ; unaffected 5.4.291 ≤ 5.4.* ; unaffected 5.10.235 ≤ 5.10.* ; unaffected 5.15.179 ≤ 5.15.* ; unaffected 6.1.129 ≤ 6.1.* |
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 |