Instituto Nacional de ciberseguridad. Sección Incibe
Instituto Nacional de Ciberseguridad. Sección INCIBE-CERT

Vulnerabilidad en kernel de Linux (CVE-2024-56686)

Gravedad:
Pendiente de análisis
Tipo:
No Disponible / Otro tipo
Fecha de publicación:
28/12/2024
Última modificación:
07/01/2025

Descripción

En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: ext4: corrección de ejecución en la inyección de error de lectura de buffer_head Cuando habilité la depuración de ext4 para las pruebas de inyección de errores, encontré la siguiente advertencia: Error de EXT4-fs (dispositivo sda): ext4_read_inode_bitmap:201: comm fsstress: No se puede leer el mapa de bits del inodo - block_group = 8, inode_bitmap = 1051 ADVERTENCIA: CPU: 0 PID: 511 en fs/buffer.c:1181 mark_buffer_dirty+0x1b3/0x1d0 La causa raíz del problema radica en la implementación incorrecta de la inyección de error de lectura de buffer_head de ext4. La finalización real de la lectura de buffer_head y la inyección de error de buffer_head no son atómicas, lo que puede provocar que el indicador de actualización se borre en los buffer_heads utilizados normalmente en condiciones de ejecución. [CPU0] [CPU1] [CPU2] ext4_read_inode_bitmap ext4_read_bh() ext4_read_inode_bitmap if (buffer_uptodate(bh)) return bh jbd2_journal_commit_transaction __jbd2_journal_refile_buffer __jbd2_journal_unfile_buffer __jbd2_journal_temp_unlink_buffer ext4_simulate_fail_bh() clear_buffer_uptodate mark_buffer_dirty WARN_ON_ONCE(!buffer_uptodate(bh)) El mejor enfoque sería realizar la inyección de fallas en la función de devolución de llamada de finalización de E/S, en lugar de después de la finalización de E/S. Sin embargo, la función de devolución de llamada de finalización de E/S no puede obtener el código de inyección de fallas en sb. Para solucionarlo, pasamos el resultado de la inyección de fallas a la función de lectura de bh. Simulamos fallas dentro de la función de lectura de bh. Esto requiere agregar un parámetro adicional a las funciones de lectura de bh que necesitan la inyección de fallas.

Impacto