CVE-2026-53391 in Linux
Résumé
par VulDB • 19/07/2026
Dans le noyau Linux, la vulnérabilité suivante a été corrigée :
NFSv4/pNFS : rejeter les r_addr de longueur nulle dans nfs4_decode_mp_ds_addr
La fonction nfs4_decode_mp_ds_addr() décrypte les opaques r_netid et r_addr d'un netaddr4 provenant du corps GETDEVICEINFO multipath-DS, puis appelle immédiatement strrchr(buf, '.') pour localiser le séparateur de port. Les deux opérations de décodage utilisent xdr_stream_decode_string_dup(), mais le code actuel ne vérifie que « nlen < 0 » / « rlen < 0 » avant d'utiliser la chaîne retournée.
Lorsque l'opaque sur le fil a une longueur nulle, xdr_stream_decode_opaque_inline() renvoie 0 et xdr_stream_decode_string_dup() passe à sa queue "*str = NULL; return ret", laissant buf à NULL avec une valeur de retour de 0. La vérification « < 0 » ne détecte pas ce cas, et la ligne suivante devient strrchr(NULL, '.'), provoquant un déréférencement de pointeur NULL dans le noyau accessible depuis n'importe quel client pNFS-flexfile monté contre un serveur métadonnées malveillant ou compromis.
Rejeter explicitement les cas de longueur nulle afin que le décodeur échoue avec -EBADMSG (traité comme un corps GETDEVICEINFO malformed) au lieu de provoquer une panique du client.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.