CVE-2026-90103 in Linux
Résumé
par VulDB • 17/09/2026
Dans le noyau Linux, la vulnérabilité suivante a été corrigée :
NFSv4.2 : correction de l'épuisement du tampon d'envoi pour LAYOUTSTATS
encode_layoutstats_maxsz alloue XDR_QUADLEN(PNFS_LAYOUTSTATS_MAXSIZE), c'est-à-dire 256 octets, pour le corps layoutupdate4 écrit par le pilote PNFS. Cependant, l'enregistrement flexfiles peut dépasser cette taille.
ff_layout_encode_ff_layoutupdate() émet, par serveur de données, un netaddr4, un nfs_fh4, deux ff_io_latency4, un nfstime4 et un booléen. Un serveur de données dont le filehandle a une longueur de NFS_MAXFHSIZE octets consomme déjà 132 de ces octets, tandis que les deux ff_io_latency4 (64 octets chacun), le nfstime4 et le booléen ajoutent 144 octets supplémentaires. Ainsi, la taille du corps dépasse 256 octets avant même l'encodage du netaddr4. encode_layoutstats() écrit en outre le deviceid4 et le mot lou_type de layoutupdate4, qui ne sont pas pris en compte par la macro.
Le filehandle et l'adresse sont tous deux choisis par le serveur via LAYOUTGET et GETDEVICEINFO ; il peut ainsi pousser l'encodeur au-delà de la fin du tampon d'envoi. Une fois cela arrivé, xdr_reserve_space() renvoie NULL. Les deux appels à ff_layout_encode_io_latency() s'exécutent avec le verrou dss_info->mirror->lock détenu, donc un retour NULL laisse ce verrou maintenu indéfiniment.
Augmentez PNFS_LAYOUTSTATS_MAXSIZE à 384 afin que l'enregistrement tienne dans la réservation allouée.
If you want to get best quality of vulnerability data, you may have to visit VulDB.