CVE-2024-42105

In the Linux kernel, the following vulnerability has been resolved: nilfs2: fix inode number range checks Patch series "nilfs2: fix potential issues related to reserved inodes". This series fixes one use-after-free issue reported by syzbot, caused by nilfs2's internal inode being exposed in the namespace on a corrupted filesystem, and a couple of flaws that cause problems if the starting number of non-reserved inodes written in the on-disk super block is intentionally (or corruptly) changed from its default value. This patch (of 3): In the current implementation of nilfs2, "nilfs->ns_first_ino", which gives the first non-reserved inode number, is read from the superblock, but its lower limit is not checked. As a result, if a number that overlaps with the inode number range of reserved inodes such as the root directory or metadata files is set in the super block parameter, the inode number test macros (NILFS_MDT_INODE and NILFS_VALID_INODE) will not function properly. In addition, these test macros use left bit-shift calculations using with the inode number as the shift count via the BIT macro, but the result of a shift calculation that exceeds the bit width of an integer is undefined in the C specification, so if "ns_first_ino" is set to a large value other than the default value NILFS_USER_INO (=11), the macros may potentially malfunction depending on the environment. Fix these issues by checking the lower bound of "nilfs->ns_first_ino" and by preventing bit shifts equal to or greater than the NILFS_USER_INO constant in the inode number test macros. Also, change the type of "ns_first_ino" from signed integer to unsigned integer to avoid the need for type casting in comparisons such as the lower bound check introduced this time.
CVSS

No CVSS.

Configurations

No configuration.

History

30 Jul 2024, 13:32

Type Values Removed Values Added
Summary
  • (es) 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.

30 Jul 2024, 08:15

Type Values Removed Values Added
New CVE

Information

Published : 2024-07-30 08:15

Updated : 2024-07-30 13:32


NVD link : CVE-2024-42105

Mitre link : CVE-2024-42105

CVE.ORG link : CVE-2024-42105


JSON object : View

Products Affected

No product.

CWE

No CWE.