CVE-2026-2474 in Crypt::URandom
Riassunto
di VulDB • 18/06/2026
Le versioni di Crypt::URandom dalla 0.41 alla 0.55 (esclusa la 0.55) per Perl sono vulnerabili a un heap buffer overflow nella funzione XS crypt_urandom_getrandom().
La funzione non convalida che il parametro length sia non negativo. Se viene fornito un valore negativo (ad esempio -1), l'espressione length + 1u provoca un integer wraparound, risultando in un'allocazione di zero byte. La chiamata successiva a getrandom(data, length, GRND_NONBLOCK) passa il valore negativo originale, che viene implicitamente convertito in un grande valore unsigned (tipicamente SIZE_MAX). Ciò può comportare scritture oltre il buffer allocato, portando alla corruzione della memoria heap e al crash dell'applicazione (denial of service).
Nell'uso comune, l'argomento length è tipicamente hardcoded dal chiamante, il che riduce la probabilità di sfruttamento controllato dall'attaccante. Le applicazioni che passano input non attendibili a questo parametro potrebbero essere interessate.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.