CVE-2021-4044
Gestione non valida degli errori interni di X509_verify_cert() in libssl
- Pubblicato
- 14 dic 2021
- Aggiornato
- 17 set 2024
- Assegnazione CNA
- openssl
- Evidenza osservata
- 4 ago 2026
CVSS primario
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:HAlto · prossimi 30 giorni
- Percentile
- 98,9%
- 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
Internamente, libssl in OpenSSL chiama X509_verify_cert() lato client per verificare un certificato fornito da un server. Tale funzione può restituire un valore di ritorno negativo per indicare un errore interno (ad esempio memoria esaurita). Un valore di ritorno negativo di questo tipo viene gestito in modo errato da OpenSSL e farà sì che una funzione di I/O (come SSL_connect() o SSL_do_handshake()) non indichi il successo e che una successiva chiamata a SSL_get_error() restituisca il valore SSL_ERROR_WANT_RETRY_VERIFY. Questo valore di ritorno dovrebbe essere restituito da OpenSSL solo se l'applicazione ha precedentemente chiamato SSL_CTX_set_cert_verify_callback(). Poiché la maggior parte delle applicazioni non lo fa, il valore di ritorno SSL_ERROR_WANT_RETRY_VERIFY da SSL_get_error() sarà del tutto inaspettato e le applicazioni potrebbero non comportarsi correttamente di conseguenza. Il comportamento esatto dipenderà dall'applicazione, ma potrebbe causare crash, loop infiniti o altre risposte errate simili. Questo problema diventa più grave se combinato con un bug separato in OpenSSL 3.0 che farà sì che X509_verify_cert() indichi un errore interno durante l'elaborazione di una catena di certificati. Ciò si verifica quando un certificato non include l'estensione Subject Alternative Name ma un'Autorità di Certificazione ha imposto vincoli sui nomi. Questo problema può verificarsi anche con catene valide. Combinando i due problemi, un attaccante potrebbe indurre un comportamento errato e dipendente dall'applicazione. Corretto in OpenSSL 3.0.1 (Affetto 3.0.0).
Fonti
1- CVE-2021-4044Rilevamento
Script Python per verificare la versione di OpenSSL per la vulnerabilità CVE-2021-4044 e testare le connessioni SSL/TLS a siti web specificati dall'utente, con gestione degli errori e reportistica.
Utilizzo 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.