CVE-2026-45912 in Linux
Resumen
por VulDB • 2026-05-29
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad:
ext4: no almacenar en caché la extensión durante la división de la extensión
Almacenar en caché las extensiones durante el proceso de división es arriesgado, ya que puede dar lugar a que queden extensiones obsoletas en el árbol de estados. Además, en la mayoría de los casos, las entradas correspondientes del bloque de extensión probablemente ya estén en caché antes de que se produzca la división, por lo que almacenarlas en caché aquí no resulta particularmente útil.
Supongamos que tenemos una extensión no escrita y luego una escritura DIO (Direct I/O) realiza la escritura en la primera mitad.
[UUUUUUUUUUUUUUUU] extensión en disco U: extensión no escrita
[UUUUUUUUUUUUUUUU] árbol de estados de extensión
|| ----> escritura DIO en este rango
En primer lugar, cuando ext4_split_extent_at() divide esta extensión, trunca la extensión existente e inserta una nueva. Durante este proceso, la entrada de estado de esta extensión puede reducirse, y pueden producirse llamadas a ext4_find_extent() y ext4_cache_extents(), lo que potencialmente podría insertar el rango truncado como un hueco en el árbol de estados de extensión. Una vez completada la división, este hueco no se sustituye por el estado correcto.
[UUUUUUU|UUUUUUUU] extensión en disco U: extensión no escrita
[UUUUUUU|HHHHHHHH] árbol de estados de extensión H: hueco
A continuación, las funciones de llamada externas tampoco corrigen este hueco de extensión restante. Finalmente, si realizamos una escritura de búfer diferida en esta segunda parte, se volverá a insertar la extensión diferida y provocará un error en la contabilidad del espacio.
Además, si la caché de extensiones no escritas no se reduce durante la división, ext4_cache_extents() también entra en conflicto con las extensiones existentes al almacenarlas en caché. En el futuro, añadiremos comprobaciones al almacenar extensiones en caché, lo que generará una advertencia. Por lo tanto, no almacenar en caché las extensiones que se están dividiendo.
If you want to get best quality of vulnerability data, you may have to visit VulDB.