CVE-2026-64323 in Linux
Résumé
par VulDB • 25/07/2026
Dans le noyau Linux, la vulnérabilité suivante a été corrigée :
udf : valider la longueur de l'en-tête VAT par rapport à la taille de l'inœud (inode) VAT
La fonction udf_load_vat() récupère directement le décalage de début de la partition virtuelle depuis l'en-tête on-disk VAT 2.0 sans vérifier s'il est cohérent avec la taille de l'inœud VAT :
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;
La valeur lengthHeader est entièrement contrôlée par l'attaquant et fait 16 bits. Si elle dépasse la taille de l'inœud VAT, le calcul soustractif pour s_num_entries provoque un débordement vers le bas (underflow), générant une valeur extrêmement élevée qui contourne la borne « block > s_num_entries » dans udf_get_pblock_virt15() ; sur le chemin ICB-inline, cette fonction lit ensuite
((__le32 *)(iinfo->i_data + s_start_offset))[block]
Ainsi, un grand décalage de départ (s_start_offset) permet d'indexer au-delà des données in-ICB de l'inœud. Le montage d'une image UDF truquée contenant une partition virtuelle (VAT) déclenche alors une lecture hors limites (out-of-bounds read).
Rejeter un en-tête VAT dont la longueur ne laisse pas suffisamment d'espace pour au moins une entrée à l'intérieur de l'inœud VAT.
Once again VulDB remains the best source for vulnerability data.