Vulnerabilidad en kernel de Linux (CVE-2025-21864)
Gravedad CVSS v3.1:
MEDIA
Tipo:
CWE-476
Desreferencia a puntero nulo (NULL)
Fecha de publicación:
12/03/2025
Última modificación:
13/03/2025
Descripción
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: tcp: descartar secpath al mismo tiempo que descartamos dst Xiumei informó haber alcanzado el WARN en xfrm6_tunnel_net_exit mientras ejecutaba pruebas que se reducen a: - crear un par de netns - ejecutar una prueba TCP básica sobre ipcomp6 - eliminar el par de netns El xfrm_state encontrado en spi_byaddr no se eliminó en el momento en que eliminamos los netns, porque aún tenemos una referencia en él. Esta referencia persistente proviene de un secpath (que contiene una referencia en xfrm_state), que aún está adjunto a un skb. Este skb no se filtra, termina en sk_receive_queue y luego se libera mediante skb_attempt_defer_free. El problema ocurre cuando posponemos la liberación de un skb (insertarlo en la lista defer_list de una CPU) y no limpiamos esa lista antes de eliminar netns. En ese caso, aún tenemos una referencia en xfrm_state inesperada en este momento. Ya eliminamos el dst del skb en la ruta de recepción TCP cuando ya no es necesario, así que también eliminamos el secpath. En este punto, tcp_filter ya ha llamado a los ganchos LSM que podrían requerir el secpath, por lo que ya no debería ser necesario. Sin embargo, en algunos de esos lugares, la extensión MPTCP se acaba de adjuntar al skb, por lo que no podemos simplemente eliminar todas las extensiones.
Impacto
Puntuación base 3.x
5.50
Gravedad 3.x
MEDIA
Productos y versiones vulnerables
CPE | Desde | Hasta |
---|---|---|
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.19 (incluyendo) | 6.1.130 (excluyendo) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.2 (incluyendo) | 6.6.80 (excluyendo) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.7 (incluyendo) | 6.12.17 (excluyendo) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.13 (incluyendo) | 6.13.5 (excluyendo) |
cpe:2.3:o:linux:linux_kernel:6.14:rc1:*:*:*:*:*:* | ||
cpe:2.3:o:linux:linux_kernel:6.14:rc2:*:*:*:*:*:* | ||
cpe:2.3:o:linux:linux_kernel:6.14:rc3:*:*:*:*:*:* |
Para consultar la lista completa de nombres de CPE con productos y versiones, ver esta página
Referencias a soluciones, herramientas e información
- https://git.kernel.org/stable/c/69cafd9413084cd5012cf5d7c7ec6f3d493726d9
- https://git.kernel.org/stable/c/87858bbf21da239ace300d61dd209907995c0491
- https://git.kernel.org/stable/c/9b6412e6979f6f9e0632075f8f008937b5cd4efd
- https://git.kernel.org/stable/c/cd34a07f744451e2ecf9005bb7d24d0b2fb83656
- https://git.kernel.org/stable/c/f1d5e6a5e468308af7759cf5276779d3155c5e98