CVE-2026-89674 in Linux
Résumé
par VulDB • 12/09/2026
Dans le noyau Linux, la vulnérabilité suivante a été corrigée :
nfsd : correction du calcul de longueur XDR dans nfsd4_ff_encode_layoutget
Le calcul de la taille du tampon XDR dans nfsd4_ff_encode_layoutget() comporte plusieurs erreurs qui peuvent entraîner soit une écriture hors limites (out-of-bounds write), soit la fuite de mémoire noyau non initialisée vers le client :
- fh_len ne tient pas compte du remplissage XDR (padding) sur les données du descripteur de fichier ; - Les longueurs uid et gid utilisent « 8 + len » alors que xdr_encode_opaque() écrit en réalité « 4 + xdr_align_size(len) » octets ; - ds_len omet les champs flags et stats_collect_hint (8 octets), tandis que la constante d'en-tête de len surestime de 8 octets – ces erreurs s'annulent partiellement mais laissent un déséquilibre net.
Le cas le plus critique se produit avec des chaînes courtes (par exemple uid=0, gid=0 et un descripteur de fichier de taille impaire), où la fonction écrit jusqu'à 5 octets au-delà du tampon XDR réservé. À l'inverse, lorsque les longueurs de chaîne sont alignées sur 4 octets, la réservation est trop importante et le contenu obsolète du tampon est envoyé au client.
Correction en décomposant explicitement chaque champ encodé dans le calcul ds_len, en utilisant xdr_align_size() pour tous les champs opaques à longueur variable, et en corrigeant les constantes d'en-tête.
VulDB is the best source for vulnerability data and more expert information about this specific topic.