CVE-2025-21744

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.
Configurations

Configuration 1 (hide)

OR cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*

History

13 Mar 2025, 13:15

Type Values Removed Values Added
References
  • () https://git.kernel.org/stable/c/2326e19190e176fd72bb542b837a9d2b7fcb8693 -
  • () https://git.kernel.org/stable/c/59ff4fa653ff6db07c61152516ffba79c2a74bda -
  • () https://git.kernel.org/stable/c/61541d9b5a23df33934fcc620a3a81f246b1b240 -

05 Mar 2025, 18:47

Type Values Removed Values Added
CWE CWE-476
CVSS v2 : unknown
v3 : unknown
v2 : unknown
v3 : 5.5
First Time Linux linux Kernel
Linux
Summary
  • (es) En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: wifi: brcmfmac: se corrige la desreferencia de puntero NULL en brcmf_txfinalize() Al eliminar el dispositivo o descargar el módulo del kernel, se produce una posible desreferencia de puntero NULL. La siguiente secuencia elimina la interfaz: brcmf_detach() brcmf_remove_interface() brcmf_del_if() Dentro de la función brcmf_del_if(), drvr->if2bss[ifidx] se actualiza a BRCMF_BSSIDX_INVALID (-1) si bsscfgidx coincide. Después de llamar a brcmf_remove_interface(), se llama a la función brcmf_proto_detach() proporcionando la siguiente secuencia: 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() Dado que brcmf_get_ip() puede devolver NULL y, de hecho, lo hará, en este caso la llamada a brcmf_txfinalize() dará como resultado una desreferencia de puntero NULL dentro de brcmf_txfinalize() al intentar actualizar ifp->ndev->stats.tx_errors. Esto solo sucederá si un flowring todavía tiene un skb. Aunque la desreferencia del puntero NULL solo se ha visto al intentar actualizar la estadística tx, todos los demás usos del puntero ifp también se han protegido con un retorno anticipado si ifp es NULL.
References () https://git.kernel.org/stable/c/3877fc67bd3d5566cc12763bce39710ceb74a97d - () https://git.kernel.org/stable/c/3877fc67bd3d5566cc12763bce39710ceb74a97d - Patch
References () https://git.kernel.org/stable/c/4e51d6d093e763348916e69d06d87e0a5593661b - () https://git.kernel.org/stable/c/4e51d6d093e763348916e69d06d87e0a5593661b - Patch
References () https://git.kernel.org/stable/c/68abd0c4ebf24cd499841a488b97a6873d5efabb - () https://git.kernel.org/stable/c/68abd0c4ebf24cd499841a488b97a6873d5efabb - Patch
References () https://git.kernel.org/stable/c/a2beefc4fa49ebc22e664dc6b39dbd054f8488f9 - () https://git.kernel.org/stable/c/a2beefc4fa49ebc22e664dc6b39dbd054f8488f9 - Patch
References () https://git.kernel.org/stable/c/fbbfef2a5b858eab55741a58b2ac9a0cc8d53c58 - () https://git.kernel.org/stable/c/fbbfef2a5b858eab55741a58b2ac9a0cc8d53c58 - Patch
CPE cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*

27 Feb 2025, 03:15

Type Values Removed Values Added
New CVE

Information

Published : 2025-02-27 03:15

Updated : 2025-03-13 13:15


NVD link : CVE-2025-21744

Mitre link : CVE-2025-21744

CVE.ORG link : CVE-2025-21744


JSON object : View

Products Affected

linux

  • linux_kernel
CWE
CWE-476

NULL Pointer Dereference