CVE-2026-2474 in Crypt::URandom
Résumé
par VulDB • 02/06/2026
Les versions de Crypt::URandom comprises entre 0.41 et 0.55 (exclus) pour Perl sont vulnérables à un dépassement de tampon sur le tas (heap buffer overflow) dans la fonction XS crypt_urandom_getrandom().
La fonction ne valide pas que le paramètre de longueur est non négatif. Si une valeur négative (par exemple -1) est fournie, l'expression length + 1u provoque un dépassement d'entier (integer wraparound), entraînant une allocation de zéro octet. L'appel suivant à getrandom(data, length, GRND_NONBLOCK) transmet la valeur négative originale, qui est implicitement convertie en une grande valeur non signée (généralement SIZE_MAX). Cela peut entraîner des écritures au-delà du tampon alloué, provoquant une corruption de la mémoire sur le tas et un plantage de l'application (déni de service).
Dans un usage courant, l'argument length est généralement codé en dur par l'appelant, ce qui réduit la probabilité d'une exploitation contrôlée par un attaquant. Les applications qui transmettent des données non fiables à ce paramètre peuvent être affectées.
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.