CVE-2022-0778
Ciclo infinito in BN_mod_sqrt() raggiungibile durante il parsing dei certificati
- Pubblicato
- 15 mar 2022
- Aggiornato
- 14 ott 2026
- Assegnazione CNA
- openssl
- Evidenza osservata
- 8 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
- 99,5%
- Data del modello
- 15 ott 2026
L'EPSS è una stima statistica, non una certezza o una misura di impatto. Combinalo con CVSS, stato KEV, esposizione e ambiente.
Riepilogo
La funzione `BN_mod_sqrt()`, che calcola una radice quadrata modulare, contiene un bug che può causare un loop infinito per moduli non primi. Internamente questa funzione viene usata durante il parsing di certificati che contengono chiavi pubbliche a curva ellittica in forma compressa o parametri espliciti di curva ellittica con un punto base codificato in forma compressa. È possibile innescare il loop infinito creando un certificato con parametri di curva espliciti non validi. Poiché il parsing del certificato avviene prima della verifica della firma del certificato, qualsiasi processo che analizzi un certificato fornito esternamente può quindi essere soggetto a un attacco di denial of service. Il loop infinito può anche essere raggiunto durante il parsing di chiavi private manipolate, poiché queste possono contenere parametri espliciti di curva ellittica. Le situazioni vulnerabili includono quindi: - client TLS che consumano certificati del server - server TLS che consumano certificati del client - provider di hosting che ricevono certificati o chiavi private dai clienti - autorità di certificazione che analizzano richieste di certificazione dai sottoscrittori - qualsiasi altra cosa che analizzi parametri di curva ellittica ASN.1 Anche qualsiasi altra applicazione che usa `BN_mod_sqrt()` in cui l'attaccante può controllare i valori dei parametri è vulnerabile a questo problema DoS. Nella versione OpenSSL 1.0.2 la chiave pubblica non viene analizzata durante il parsing iniziale del certificato, il che rende leggermente più difficile innescare il loop infinito. Tuttavia qualsiasi operazione che richieda la chiave pubblica dal certificato attiverà il loop infinito. In particolare, l'attaccante può usare un certificato autofirmato per innescare il loop durante la verifica della firma del certificato. Questo problema riguarda le versioni di OpenSSL 1.0.2, 1.1.1 e 3.0. È stato risolto nelle release 1.1.1n e 3.0.2 del 15 marzo 2022. Corretto in OpenSSL 3.0.2 (Affette 3.0.0,3.0.1). Corretto in OpenSSL 1.1.1n (Affette 1.1.1-1.1.1m). Corretto in OpenSSL 1.0.2zd (Affette 1.0.2-1.0.2zc).
Fonti
- OpenSSL Infinite Loop Leads to DoSLaboratorio
openssl/CVE-2022-0778
OpenSSL Infinite Loop Leads to DoS (CVE-2022-0778)
Vulhub vulnerability labsCondizioni dichiarate
- lab image version: vulhub/openssl:1.1.1m-with-curl(openssl/CVE-2022-0778/docker-compose.yml:services.curl.image)
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.