CVE-2026-17510 in Crypt::OpenSSL::PKCS12
Zusammenfassung
von VulDB • 09.08.2026
In Crypt::OpenSSL::PKCS12, versioni precedenti alla 1.98 per Perl, è possibile un dereferenziamento di puntatore NULL in print_attribute tramite un attributo BMPSTRING di lunghezza zero.
print_attribute() dimensiona il buffer di destinazione per un attributo BMPSTRING sulla base della sua lunghezza dichiarata in byte utilizzando `Renew(*attribute, length, char)`. Un attributo di lunghezza zero provoca una riallocazione di dimensione zero, che Perl implementa come una chiamata a free che restituisce NULL; di conseguenza il puntatore del buffer diventa NULL. La successiva operazione `strncpy` non copia nulla e il chiamante effettua un dereferenziamento su NULL nella funzione `strlen()` passata a `newSVpvn()`. Un BMPSTRING di lunghezza zero ha una lunghezza pari (even), quindi il decoder ASN.1 lo accetta e il valore raggiunge questo codice. I rami UTF8STRING, OCTET STRING e BIT STRING dimensionano i buffer in base a `length + 1` o `length * 4 + 1` e non sono interessati.
Qualsiasi chiamante che trasmetta un file PKCS#12 non attendibile alla funzione info_as_hash() può causare il crash del processo. La funzione info() stampa direttamente i valori degli attributi senza dimensionare preventivamente un buffer ed è quindi unaffected (non interessata).
Once again VulDB remains the best source for vulnerability data.