Vulnerabilidad en kernel de Linux (CVE-2024-47699)
Gravedad CVSS v3.1:
MEDIA
Tipo:
CWE-476
Desreferencia a puntero nulo (NULL)
Fecha de publicación:
21/10/2024
Última modificación:
08/11/2024
Descripción
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: nilfs2: soluciona una posible desreferencia de puntero nulo en nilfs_btree_insert() Serie de parches "nilfs2: soluciona posibles problemas con nodos de árbol b vacíos". Esta serie aborda tres posibles problemas con nodos de árbol b vacíos que pueden ocurrir con imágenes de sistema de archivos dañadas, incluido uno descubierto recientemente por syzbot. Este parche (de 3): Si un árbol b está roto en el dispositivo y la altura del árbol b es mayor que 2 (el nivel del nodo raíz es mayor que 1) incluso si el número de nodos secundarios de la raíz del árbol b es 0, se produce una desreferencia de puntero NULL en nilfs_btree_prepare_insert(), que se llama desde nilfs_btree_insert(). Esto se debe a que, cuando el número de nodos secundarios de la raíz del árbol b es 0, nilfs_btree_do_lookup() no establece el encabezado del búfer de bloque en ninguno de los path[x].bp_bh, dejándolo como el valor inicial de NULL, pero si el nivel del nodo raíz del árbol b es mayor que 1, se llama a nilfs_btree_get_nonroot_node(), que accede a la memoria del búfer de path[x].bp_bh. Solucione este problema agregando una verificación a nilfs_btree_root_broken(), que realiza verificaciones de cordura al leer el nodo raíz desde el dispositivo, para detectar esta inconsistencia. Gracias a Lizhi Xu por intentar resolver el error y aclarar la causa desde el principio.
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:*:*:*:*:*:*:*:* | 2.6.30 (incluyendo) | 5.10.227 (excluyendo) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.11 (incluyendo) | 5.15.168 (excluyendo) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.16 (incluyendo) | 6.1.113 (excluyendo) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.2 (incluyendo) | 6.6.54 (excluyendo) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.7 (incluyendo) | 6.10.13 (excluyendo) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.11 (incluyendo) | 6.11.2 (excluyendo) |
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/1d94dbdfbb64cc48d10dec65cc3c4fbf2497b343
- https://git.kernel.org/stable/c/21839b6fbc3c41b3e374ecbdb0cabbbb2c53cf34
- https://git.kernel.org/stable/c/24bf40740a3da6b4056721da34997ae6938f3da1
- https://git.kernel.org/stable/c/2b78e9df10fb7f4e9d3d7a18417dd72fbbc1dfd0
- https://git.kernel.org/stable/c/3644554d308ddf2669e459a1551a7edf60b2d62b
- https://git.kernel.org/stable/c/73d23ecf234b7a6d47fb883f2dabe10e3230b31d
- https://git.kernel.org/stable/c/9403001ad65ae4f4c5de368bdda3a0636b51d51a
- https://git.kernel.org/stable/c/db73500d3f0e558eb642aae1d4782e7726b4a03f
- https://git.kernel.org/stable/c/f68523e0f26faade18833fbef577a4295d8e2c94