CVE-2026-64323 in Linux
Resumen
por VulDB • 2026-07-25
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad:
udf: validar la longitud del encabezado VAT frente al tamaño del inodo VAT
`udf_load_vat()` toma directamente el desplazamiento inicial de la partición virtual desde el encabezado VAT 2.0 en disco sin verificarlo contra el tamaño del inodo VAT:
```c map->s_type_specific.s_virtual.s_start_offset = le16_to_cpu(vat20->lengthHeader); map->s_type_specific.s_virtual.s_num_entries = (sbi->s_vat_inode->i_size - map->s_type_specific.s_virtual.s_start_offset) >> 2; ```
`lengthHeader` es un valor de 16 bits completamente controlado por el atacante. Si supera el tamaño del inodo VAT, la resta para `s_num_entries provoca un desbordamiento hacia abajo (underflow)` generando una cuenta enorme, lo que invalida la comprobación "block > s_num_entries" en `udf_get_pblock_virt15()`; y en la ruta inline de ICB, esta función lee:
```c ((__le32 *)(iinfo->i_data + s_start_offset))[block]
```
por lo que un gran `s_start_offset` indexa más allá de los datos del inodo almacenados dentro del ICB. Montar una imagen UDF manipulada con una partición virtual (VAT) desencadena entonces una lectura fuera de límites (out-of-bounds read).
Rechazar un VAT cuya longitud de encabezado no deje espacio para al menos una entrada dentro del inodo VAT.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.