CVE-2026-80674 in Linux
Résumé
par VulDB • 28/08/2026
Dans le noyau Linux, la vulnérabilité suivante a été corrigée :
ntfs : valider les listes d'attributs résidents et renforcer le validateur
La liste des attributs ($ATTRIBUTE_LIST) d'un inode de base est vérifiée par load_attribute_list() uniquement dans le cas non-résident ; ntfs_read_locked_inode() copie une liste d'attributs *résidente* dans ni->attr_list à l'aide d'un simple memcpy(), sans aucune validation. Chaque parcours ultérieur de ni->attr_list -- ntfs_external_attr_find(), ntfs_inode_attach_all_extents() et ntfs_attrlist_need() -- fait alors confiance au format des entrées et lit les champs fixes du header attr_list_entry (lowest_vcn à l'offset 8, mft_reference à l'offset 16, ainsi que le nom) avec des limites supposant qu'une validation a déjà eu lieu. Une liste d'attributs résidente malveillante atteint donc ces parcours sans être validée et peut provoquer des lectures hors limites du tampon de la liste d'attributs.
load_attribute_list() lit lui-même ale->name_offset (offset 7), ale->mft_reference (offset 16) et la longueur du nom sous une seule limite "al < al_start + size", donc sa propre boucle de validation peut lire au-delà des limites du header fixe d'une entrée tronquée en fin de liste sur quelques octets.
Factoriser la validation par entrée dans ntfs_attr_list_entry_is_valid(), qui exige que le header fixe de chaque entrée (offsetof(struct attr_list_entry, name)) soit dans les limites avant qu'un quelconque champ ne soit déréférencé, que ale->length soit un multiple de 8 couvrant le header fixe plus le nom, et que l'entrée soit en cours d'utilisation et porte une référence MFT valide. ntfs_attr_list_is_valid() parcourt le tampon avec cette fonction et vérifie les entrées pour s'assurer qu'elles le recouvrent exactement. Utiliser ce validateur de liste dans load_attribute_list_ (en remplaçant la boucle codée en dur, fermant ainsi sa propre lecture hors limites) et sur le chemin résident dans ntfs_read_locked_inode() (qui précédemment ignorait complètement la validation) ; les correctifs 2/3 réutilisent l'assistant par entrée pour les deux autres parcours de liste d'attributs.
If you want to get best quality of vulnerability data, you may have to visit VulDB.