CVE-2022-0778

Infinite loop in BN_mod_sqrt() reachable when parsing certificates

Description

The BN_mod_sqrt() function, which computes a modular square root, contains a bug that can cause it to loop forever for non-prime moduli. Internally this function is used when parsing certificates that contain elliptic curve public keys in compressed form or explicit elliptic curve parameters with a base point encoded in compressed form. It is possible to trigger the infinite loop by crafting a certificate that has invalid explicit curve parameters. Since certificate parsing happens prior to verification of the certificate signature, any process that parses an externally supplied certificate may thus be subject to a denial of service attack. The infinite loop can also be reached when parsing crafted private keys as they can contain explicit elliptic curve parameters. Thus vulnerable situations include: - TLS clients consuming server certificates - TLS servers consuming client certificates - Hosting providers taking certificates or private keys from customers - Certificate authorities parsing certification requests from subscribers - Anything else which parses ASN.1 elliptic curve parameters Also any other applications that use the BN_mod_sqrt() where the attacker can control the parameter values are vulnerable to this DoS issue. In the OpenSSL 1.0.2 version the public key is not parsed during initial parsing of the certificate which makes it slightly harder to trigger the infinite loop. However any operation which requires the public key from the certificate will trigger the infinite loop. In particular the attacker can use a self-signed certificate to trigger the loop during verification of the certificate signature. This issue affects OpenSSL versions 1.0.2, 1.1.1 and 3.0. It was addressed in the releases of 1.1.1n and 3.0.2 on the 15th March 2022. Fixed in OpenSSL 3.0.2 (Affected 3.0.0,3.0.1). Fixed in OpenSSL 1.1.1n (Affected 1.1.1-1.1.1m). Fixed in OpenSSL 1.0.2zd (Affected 1.0.2-1.0.2zc).

Category

7.5
CVSS
Severity: High
CVSS 3.1 •
CVSS 2.0 •
EPSS 7.64% Top 10%
Vendor Advisory debian.org Vendor Advisory fedoraproject.org Vendor Advisory fedoraproject.org Vendor Advisory fedoraproject.org Vendor Advisory gentoo.org Vendor Advisory openssl.org
Affected: OpenSSL OpenSSL
Published at:
Updated at:

References

Link Tags
https://www.openssl.org/news/secadv/20220315.txt vendor advisory
https://git.openssl.org/gitweb/?p=openssl.git%3Ba=commitdiff%3Bh=a466912611aa6cbdf550cd10601390e587451246
https://git.openssl.org/gitweb/?p=openssl.git%3Ba=commitdiff%3Bh=3118eb64934499d93db3230748a452351d1d9a65
https://git.openssl.org/gitweb/?p=openssl.git%3Ba=commitdiff%3Bh=380085481c64de749a6dd25cdf0bcf4360b30f83
https://www.debian.org/security/2022/dsa-5103 third party advisory vendor advisory
https://lists.debian.org/debian-lts-announce/2022/03/msg00023.html third party advisory mailing list
https://lists.debian.org/debian-lts-announce/2022/03/msg00024.html third party advisory mailing list
https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/GDB3GQVJPXJE7X5C5JN6JAA4XUDWD6E6/ vendor advisory
https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/323SNN6ZX7PRJJWP2BUAFLPUAE42XWLZ/ vendor advisory
https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/W6K3PR542DXWLEFFMFIDMME4CWMHJRMG/ vendor advisory
https://www.oracle.com/security-alerts/cpuapr2022.html third party advisory
https://security.netapp.com/advisory/ntap-20220321-0002/ third party advisory
https://psirt.global.sonicwall.com/vuln-detail/SNWLID-2022-0002 third party advisory
https://www.tenable.com/security/tns-2022-06 third party advisory
https://www.tenable.com/security/tns-2022-07 third party advisory
https://www.tenable.com/security/tns-2022-08 third party advisory
http://seclists.org/fulldisclosure/2022/May/33 third party advisory mailing list
http://seclists.org/fulldisclosure/2022/May/35 third party advisory mailing list
http://seclists.org/fulldisclosure/2022/May/38 third party advisory mailing list
https://www.oracle.com/security-alerts/cpujul2022.html third party advisory
https://support.apple.com/kb/HT213257 third party advisory
https://support.apple.com/kb/HT213256 third party advisory
https://support.apple.com/kb/HT213255 third party advisory
https://www.tenable.com/security/tns-2022-09 third party advisory
https://security.netapp.com/advisory/ntap-20220429-0005/ third party advisory
http://packetstormsecurity.com/files/167344/OpenSSL-1.0.2-1.1.1-3.0-BN_mod_sqrt-Infinite-Loop.html third party advisory vdb entry
https://cert-portal.siemens.com/productcert/pdf/ssa-712929.pdf third party advisory
https://security.gentoo.org/glsa/202210-02 third party advisory vendor advisory
https://security.netapp.com/advisory/ntap-20240621-0006/

Frequently Asked Questions

What is the severity of CVE-2022-0778?
CVE-2022-0778 has been scored as a high severity vulnerability.
How to fix CVE-2022-0778?
To fix CVE-2022-0778, make sure you are using an up-to-date version of the affected component(s) by checking the vendor release notes. As for now, there are no other specific guidelines available.
Is CVE-2022-0778 being actively exploited in the wild?
It is possible that CVE-2022-0778 is being exploited or will be exploited in a near future based on public information. According to its EPSS score, there is a ~8% probability that this vulnerability will be exploited by malicious actors in the next 30 days.
What software or system is affected by CVE-2022-0778?
CVE-2022-0778 affects OpenSSL OpenSSL.
This platform uses data from the NIST NVD, MITRE CVE, MITRE CWE, First.org and CISA KEV but is not endorsed or certified by these entities. CVE is a registred trademark of the MITRE Corporation and the authoritative source of CVE content is MITRE's CVE web site. CWE is a registred trademark of the MITRE Corporation and the authoritative source of CWE content is MITRE's CWE web site.
© 2025 Under My Watch. All Rights Reserved.