Vulnerabilidad en kernel de Linux (CVE-2024-42105)
Gravedad CVSS v3.1:
ALTA
Tipo:
CWE-416
Utilización después de liberación
Fecha de publicación:
30/07/2024
Última modificación:
03/11/2025
Descripción
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: nilfs2: corrige las comprobaciones del rango de números de inodos. Serie de parches "nilfs2: soluciona posibles problemas relacionados con los inodos reservados". Esta serie corrige un problema de use after free reportado por syzbot, causado por la exposición del inodo interno de nilfs2 en el espacio de nombres de un sistema de archivos corrupto, y un par de fallos que causan problemas si el número inicial de inodos no reservados escritos en el -El superbloque de disco se cambia intencionalmente (o de forma corrupta) de su valor predeterminado. Este parche (de 3): En la implementación actual de nilfs2, "nilfs->ns_first_ino", que proporciona el primer número de inodo no reservado, se lee del superbloque, pero no se verifica su límite inferior. Como resultado, si en el parámetro de superbloque se establece un número que se superpone con el rango de números de inodos reservados, como el directorio raíz o los archivos de metadatos, las macros de prueba de números de inodos (NILFS_MDT_INODE y NILFS_VALID_INODE) no funcionarán correctamente. Además, estas macros de prueba utilizan cálculos de desplazamiento de bits a la izquierda utilizando el número de inodo como recuento de desplazamiento a través de la macro BIT, pero el resultado de un cálculo de desplazamiento que excede el ancho de bits de un número entero no está definido en la especificación C, por lo que si "ns_first_ino" está configurado en un valor grande distinto del valor predeterminado NILFS_USER_INO (=11), es posible que las macros no funcionen correctamente según el entorno. Solucione estos problemas verificando el límite inferior de "nilfs->ns_first_ino" y evitando cambios de bits iguales o mayores que la constante NILFS_USER_INO en las macros de prueba de número de inodo. Además, cambie el tipo de "ns_first_ino" de entero con signo a entero sin signo para evitar la necesidad de conversión de tipos en comparaciones como la verificación de límite inferior introducida esta vez.
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:*:*:*:*:*:*:*:* | 4.19.318 (excluyendo) | |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 4.20 (incluyendo) | 5.4.280 (excluyendo) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.5 (incluyendo) | 5.10.222 (excluyendo) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.11 (incluyendo) | 5.15.163 (excluyendo) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.16 (incluyendo) | 6.1.98 (excluyendo) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.2 (incluyendo) | 6.6.39 (excluyendo) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.7 (incluyendo) | 6.9.9 (excluyendo) |
| cpe:2.3:o:linux:linux_kernel:6.10:rc1:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:6.10:rc2:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:6.10:rc3:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:6.10:rc4:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:6.10:rc5:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:6.10:rc6:*:*:*:*:*:* |
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/08cab183a624ba71603f3754643ae11cab34dbc4
- https://git.kernel.org/stable/c/1c91058425a01131ea30dda6cf43c67b17884d6a
- https://git.kernel.org/stable/c/3be4dcc8d7bea52ea41f87aa4bbf959efe7a5987
- https://git.kernel.org/stable/c/57235c3c88bb430043728d0d02f44a4efe386476
- https://git.kernel.org/stable/c/731011ac6c37cbe97ece229fc6daa486276052c5
- https://git.kernel.org/stable/c/9194f8ca57527958bee207919458e372d638d783
- https://git.kernel.org/stable/c/e2fec219a36e0993642844be0f345513507031f4
- https://git.kernel.org/stable/c/fae1959d6ab2c52677b113935e36ab4e25df37ea
- https://git.kernel.org/stable/c/08cab183a624ba71603f3754643ae11cab34dbc4
- https://git.kernel.org/stable/c/1c91058425a01131ea30dda6cf43c67b17884d6a
- https://git.kernel.org/stable/c/3be4dcc8d7bea52ea41f87aa4bbf959efe7a5987
- https://git.kernel.org/stable/c/57235c3c88bb430043728d0d02f44a4efe386476
- https://git.kernel.org/stable/c/731011ac6c37cbe97ece229fc6daa486276052c5
- https://git.kernel.org/stable/c/9194f8ca57527958bee207919458e372d638d783
- https://git.kernel.org/stable/c/e2fec219a36e0993642844be0f345513507031f4
- https://git.kernel.org/stable/c/fae1959d6ab2c52677b113935e36ab4e25df37ea
- https://lists.debian.org/debian-lts-announce/2025/01/msg00001.html



