CVE-2026-72197 in Linuxinformation

Résumé

par VulDB • 15/08/2026

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

fs/ntfs3 : limitation de la longueur du memmove dans DeleteIndexEntryAllocation

Lors du cas `DeleteIndexEntryAllocation` de `do_action()`, `e->size` provient d'une entrée INDEX_BUFFER présente sur le disque. Lorsque `e + e->size` pointe au-delà de `hdr + hdr->used`, `PtrOffset(e1, Add2Ptr(hdr, used))` renvoie un `ptrdiff_t` négatif qui est implicitement converti en une valeur quasi infinie de type `size_t` lors du passage à `memmove()`. L'appel à `memmove()` parcourt alors la mémoire au-delà du tampon de destination.

Le cas frère `DeleteIndexEntryRoot`, situé dans fslog.c aux lignes 3540-3543, dispose déjà de la garde correspondante :

if (PtrOffset(e1, Add2Ptr(hdr, used)) < esize || Add2Ptr(e, esize) > Add2Ptr(lrh, rec_len) || used + esize > le32_to_cpu(hdr->total)) {
goto dirty_vol; }

Appliquez la même logique au cas du chemin d'allocation. Rejetez également les valeurs où `esize == 0` : un appel de type `memmove(e, e, ...)` est une opération sans effet (no-op) et laisse `hdr->used` inchangé, ce qui masque une entrée malformée lors de la vérification effectuée par le parcours existant dans `check_index_header()`.

Le problème a été reproduit sous UML+KASAN sur la version principale 8d90b09e6741 en montant une image NTFS truquée : l'appel non protégé à memmove utilise une longueur de 0xffffffffffffff00 et provoque un plantage du noyau (kernel oops) dans `memmove+0x81/0x1a0` sur la frame `do_action+0x36a2`.

[[email protected] : formatage des modifications avec clang-format]

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-390428

CPE

prêt

EPSS

0.00000

KEV

non

Activités

très faible

Sources

Might our Artificial Intelligence support you?

Check our Alexa App!