Instituto Nacional de ciberseguridad. Sección Incibe
Instituto Nacional de Ciberseguridad. Sección INCIBE-CERT

Vulnerabilidad en kernel de Linux (CVE-2025-37953)

Gravedad CVSS v3.1:
MEDIA
Tipo:
CWE-476 Desreferencia a puntero nulo (NULL)
Fecha de publicación:
20/05/2025
Última modificación:
17/12/2025

Descripción

En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: sch_htb: hacer que htb_deactivate() sea idempotente. Alan informó una desreferencia de puntero NULL en htb_next_rb_node() después de que htb_qlen_notify() fuera idempotente. Resulta que en el siguiente caso introdujo alguna regresión: htb_dequeue_tree(): |-> fq_codel_dequeue() |-> qdisc_tree_reduce_backlog() |-> htb_qlen_notify() |-> htb_deactivate() |-> htb_next_rb_node() |-> htb_deactivate() Para htb_next_rb_node(), después de llamar al primer htb_deactivate(), el clprio[prio]->ptr podría estar ya establecido en NULL, lo que significa que htb_next_rb_node() es vulnerable aquí. Para htb_deactivate(), aunque verificamos qlen antes de llamarlo, en caso de qlen==0 después de qdisc_tree_reduce_backlog(), podemos llamarlo nuevamente, lo que activa la advertencia interna. Para solucionar estos problemas, necesitamos: 1) Hacer que htb_deactivate() sea idempotente, es decir, que simplemente regrese si ya lo llamamos. 2) Hacer que htb_next_rb_node() sea seguro contra ptr==NULL. Muchas gracias a Alan por las pruebas y por el reproductor.

Productos y versiones vulnerables

CPE Desde Hasta
cpe:2.3:o:linux:linux_kernel:6.1.138:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.6.90:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.12.28:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.14.6:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.15:rc2:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.15:rc3:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.15:rc4:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.15:rc5:*:*:*:*:*:*
cpe:2.3:o:debian:debian_linux:11.0:*:*:*:*:*:*:*