CVE-2025-69419
Scrittura fuori dai limiti nella conversione UTF-8 di PKCS12_get_friendlyname()
- Pubblicato
- 27 gen 2026
- Aggiornato
- 12 mag 2026
- Assegnazione CNA
- openssl
- Evidenza osservata
- 28 ago 2026
CVSS primario
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:NBasso · prossimi 30 giorni
- Percentile
- 46,0%
- Data del modello
- 21 set 2026
L'EPSS è una stima statistica, non una certezza o una misura di impatto. Combinalo con CVSS, stato KEV, esposizione e ambiente.
Riepilogo
Sintesi del problema: chiamare la funzione PKCS12_get_friendlyname() su un file PKCS#12 creato ad arte con un nome descrittivo BMPString (UTF-16BE) contenente un punto di codice BMP non ASCII può innescare una scrittura di un byte prima del buffer allocato. Sintesi dell'impatto: la scrittura fuori dai limiti può causare una corruzione della memoria che può avere varie conseguenze, incluso un Denial of Service. La funzione OPENSSL_uni2utf8() esegue una conversione in due passaggi di un BMPString PKCS#12 (UTF-16BE) in UTF-8. Nel secondo passaggio, quando emette i byte UTF-8, la funzione helper bmp_to_utf8() inoltra erroneamente il conteggio rimanente dei byte sorgente UTF-16 come capacità del buffer di destinazione a UTF8_putc(). Per i punti di codice BMP superiori a U+07FF, UTF-8 richiede tre byte, ma la capacità inoltrata può essere di soli due byte. UTF8_putc() restituisce quindi -1, e questo valore negativo viene aggiunto alla lunghezza di output senza validazione, facendo diventare negativa la lunghezza. Il successivo byte NUL finale viene quindi scritto a un offset negativo, causando una scrittura al di fuori del buffer allocato nell'heap. La vulnerabilità è raggiungibile tramite l'API pubblica PKCS12_get_friendlyname() durante l'analisi di file PKCS#12 controllati dall'attaccante. Mentre PKCS12_parse() utilizza un percorso di codice diverso che evita questo problema, PKCS12_get_friendlyname() invoca direttamente la funzione vulnerabile. Lo sfruttamento richiede che un attaccante fornisca un file PKCS#12 dannoso da analizzare all'applicazione e l'attaccante può semplicemente innescare una scrittura di un byte zero prima del buffer allocato. Per questo motivo il problema è stato valutato come di gravità Bassa secondo la nostra Security Policy. I moduli FIPS in 3.6, 3.5, 3.4, 3.3 e 3.0 non sono interessati da questo problema, poiché l'implementazione PKCS#12 è al di fuori del confine del modulo FIPS di OpenSSL. OpenSSL 3.6, 3.5, 3.4, 3.3, 3.0 e 1.1.1 sono vulnerabili a questo problema. OpenSSL 1.0.2 non è interessato da questo problema.
Fonti
1Utilizzo responsabile
Utilizza le informazioni sulla vulnerabilità solo sui sistemi che possiedi o che sei autorizzato a testare. Kitploit si collega ai metadati della ricerca pubblica e non memorizza codici exploit o payload dannosi.