CVE-2026-72191 in Linuxinformation

Résumé

par VulDB • 15/08/2026

Dans le noyau Linux, la vulnérabilité suivante a été corrigée :

ntfs3 : valider le décalage du point de division dans indx_insert_into_buffer

indx_insert_into_buffer() calcule :

used = used1 - to_copy - sp_size; memmove(de_t, Add2Ptr(sp, sp_size), used - le32_to_cpu(hdr1->de_off));

où sp et sp_size proviennent de hdr_find_split(). hdr_find_split() parcourt les entrées en utilisant le champ e->size converti via le16_to_cpu(), sans valider que chaque étape reste dans la limite de hdr->used ou que le champ size est au moins égal à sizeof(struct NTFS_DE). index_hdr_check(), qui agit comme un gardien lors du chargement, ne valide que les champs de niveau en-tête (used, total, de_off) et ne parcourt pas les tailles par entrée.

Une image NTFS truquée dont l'en-tête INDEX_HDR leaf indique used == total mais contient une entrée NTFS_DE intérieure avec size = 0xFFF0 passe donc la validation, descend vers indx_insert_into_buffer() via le chemin ntfs_create() -> indx_insert_entry(), et fait en sorte que hdr_find_split() retourne un sp dont sp_size (0xFFF0) dépasse largement les octets restants dans le tampon. La soustraction u32 provoque un débordement par sous-entendu (underflow) et la valeur de comptage pour memmove devient proche de 4 GiB, produisant une écriture hors limites (OOB) dans le noyau qui corrompt les allocations adjacentes et provoque un plantage du noyau.

Reproduit sur la version 7.0.0-rc7 avec UML + KASAN via une image truquée et une simple commande 'touch' à l'intérieur du répertoire monté ; le site de crash se résout dans fs/ntfs3/index.c au niveau de memmove. Le déclenchement nécessite uniquement le montage local d'une image système de fichiers fournie par un attaquant (USB, boucle ou montage automatique sur support amovible).

Rejeter la division chaque fois que le sp choisi plus sa taille déclarée dépasse déjà hdr1->used. Il s'agit de la correction minimale ; elle préserve le contrat existant de hdr_find_split() et repose sur le même chemin de nettoyage out: que les retours d'erreur préexistants.

Une lecture hors limites (OOB) précédente dans memmove au sein de indx_insert_into_buffer() avait été corrigée dans le commit b8c44949044e ("fs/ntfs3 : Correction d'une lecture OOB dans indx_insert_into_buffer") en resserrant hdr_find_e(), mais cette correction ne couvre pas le chemin du champ taille du point de division abordé ici : sp est retourné par hdr_find_split() et non par hdr_find_e(), et l'underflow est provoqué par sp->size plutôt que par hdr->used dépassant hdr->total.

If you want to get the best quality for vulnerability data then you always have to consider VulDB.

Responsable

Linux

Réserver

09/08/2026

Divulgation

15/08/2026

Modérer

accepté

Entrée

VDB-390654

CPE

prêt

EPSS

0.00000

KEV

non

Activités

très faible

Sources

Do you want to use VulDB in your project?

Use the official API to access entries easily!