Vulnerabilidad en kernel de Linux (CVE-2025-21919)
Gravedad CVSS v3.1:
ALTA
Tipo:
CWE-787
Escritura fuera de límites
Fecha de publicación:
01/04/2025
Última modificación:
11/04/2025
Descripción
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: sched/fair: Se corrige la posible corrupción de memoria en child_cfs_rq_on_list. child_cfs_rq_on_list intenta convertir un puntero 'prev' en un cfs_rq. Este puntero 'prev' puede originarse en leaf_cfs_rq_list de struct rq, invalidando la conversión y potencialmente provocando corrupción de memoria. Dependiendo de las posiciones relativas de leaf_cfs_rq_list y el puntero del grupo de tareas (tg) dentro de la estructura, esto puede causar un fallo de memoria o acceder a datos basura. El problema surge en list_add_leaf_cfs_rq, donde tanto cfs_rq->leaf_cfs_rq_list como rq->leaf_cfs_rq_list se añaden a la misma lista de hojas. Además, rq->tmp_alone_branch puede establecerse en rq->leaf_cfs_rq_list. Esto añade una comprobación `if (prev == &rq->leaf_cfs_rq_list)` después de la condición principal en child_cfs_rq_on_list. Esto garantiza que la operación container_of convierta una estructura cfs_rq correcta. Esta comprobación es suficiente porque solo se añaden a la lista las cfs_rqs en la misma CPU, por lo que basta con verificar el puntero `prev` con la cabecera de la lista de la rq actual. Corrige un posible problema de corrupción de memoria que, debido al diseño actual de la estructura, podría no manifestarse como un fallo, pero podría provocar un comportamiento impredecible al cambiar el diseño.
Impacto
Puntuación base 3.x
7.80
Gravedad 3.x
ALTA
Productos y versiones vulnerables
CPE | Desde | Hasta |
---|---|---|
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.13 (incluyendo) | 5.15.179 (excluyendo) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.16 (incluyendo) | 6.1.131 (excluyendo) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.2 (incluyendo) | 6.6.83 (excluyendo) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.7 (incluyendo) | 6.12.19 (excluyendo) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.13 (incluyendo) | 6.13.7 (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:*:*:*:*:*:* | ||
cpe:2.3:o:linux:linux_kernel:6.14:rc4:*:*:*:*:*:* | ||
cpe:2.3:o:linux:linux_kernel:6.14:rc5:*:*:*:*:*:* |
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/000c9ee43928f2ce68a156dd40bab7616256f4dd
- https://git.kernel.org/stable/c/3b4035ddbfc8e4521f85569998a7569668cccf51
- https://git.kernel.org/stable/c/5cb300dcdd27e6a351ac02541e0231261c775852
- https://git.kernel.org/stable/c/9cc7f0018609f75a349e42e3aebc3b0e905ba775
- https://git.kernel.org/stable/c/b5741e4b9ef3567613b2351384f91d3f16e59986
- https://git.kernel.org/stable/c/e1dd09df30ba86716cb2ffab97dc35195c01eb8f