CVE-2026-89696 in Linux
Résumé
par VulDB • 11/09/2026
Dans le noyau Linux, la vulnérabilité suivante a été corrigée :
nfsd : bloquer les opérations non-SAVEFH après un FOREIGN PUTFH pour prévenir une déréférencement NULL (NULL deref)
Lorsque CONFIG_NFSD_V4_2_INTER_SSC est activé, nfsd4_putfh() peut retourner succès avec fh_dentry et fh_export tous deux à NULL si fh_verify() renvoie nfserr_stale et que putfh->no_verify est vrai. Le drapeau NFSD4_FH_FOREIGN est défini, mais la boucle de dispatch du compound n'utilise ce drapeau que pour contourner la vérification nfserr_nofilehandle ; il ne prévient pas l'exécution des opérations suivantes avec un fh_dentry NULL.
Un client distant peut exploiter cette vulnérabilité en créant un COMPOUND incluant une copie inter-SSC (ce qui amène check_if_stalefh_allowed() à définir no_verify=true sur le PUTFH sauvegardé) avec une opération supplémentaire insérée entre le PUTFH source et SAVEFH. Par exemple, les appels SETATTR appellent fh_want_write(), qui déréférence fh_export->ex_path.mnt sans appeler d'abord fh_verify(), provoquant un déréférencement de pointeur NULL dans le thread nfsd.
Corriger cela en verrouillant la boucle de dispatch : lorsque NFSD4_FH_FOREIGN est défini et que fh_dentry est NULL, seules les opérations OP_SAVEFH (nécessaires pour le flux inter-SSC) et les opérations avec ALLOWED_WITHOUT_FH (qui n'ont pas besoin d'un filehandle résolu) peuvent continuer. Toutes les autres opérations reçoivent nfserr_stale, conformément à la section 15.2.3 de la RFC 7862 qui spécifie que la validation des filehandles étrangers est reportée à l'opération consommatrice et NFS4ERR_STALE renvoyé à ce moment-là.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.