CVE-2022-0778 OpenSSL
| Affected software | OpenSSL |
|---|---|
| Severity | 7.5 High CVSS 3.1 3 scores |
| Weakness | CWE-835 |
| Published | 15 Mar 2022 |
| Updated | 14 Oct 2026 |
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).
Exploitation status
Proof of concept only
A proof of concept exists, but no reviewed exploit catalogue lists this CVE.
Exploitation status
- CISA KEV not listed
- VulnCheck KEV not listed
- CISA Vulnrichment exploitation: none
- Indexed PoC 6 indexed Published artifacts you can open, in GitHub PoC; first seen 2022-03-15.
- EPSS 73% chance in 30 days A model's forecast, not a report of exploitation. Higher than 99% of all scored CVEs.
| Index | Artifact | Stars | First seen |
|---|---|---|---|
| GitHub PoC | Proof of concept for CVE-2022-0778, which triggers an infinite loop in parsing X.509 certificates due to a bug in BN_mod_sqrt | 182 | 2022-03-15 |
| GitHub PoC | jkakavas/CVE-2022-0778-POC | 11 | 2022-04-18 |
| GitHub PoC | yywing/cve-2022-0778 | 9 | 2022-04-04 |
| GitHub PoC | Proof of concept for CVE-2022-0778 in P12 and PEM format | 2 | 2022-04-21 |
| GitHub PoC | jeongjunsoo/CVE-2022-0778 | 1 | 2023-10-26 |
| GitHub PoC | Pure-Python port of OpenSSL BN_mod_sqrt before/after the CVE-2022-0778 fix, with a step budget on the loops that can grow. Offline. | 2026-11-06 |
Waratek protection
A Java vulnerability, but not one Waratek protects. It affects only Java on a user's desktop (applets, Web Start, JavaFX, the installer), sits in a product the Waratek agent can't be installed into, or is in a package we don't expect in business applications. The decision below says which.
- Protection none
- Action not pursued none
- Review human Researcher
- Record active
| Decided by | Manual classification of this CVE in the legacy dataset |
|---|---|
| Finding | A manual classification set this CVE's status to Outside Waratek scope, but the CVE names a tracked product. |
CVSS
7.5 HIGH
v3.1 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
3 metrics
CVSS
7.5 HIGH v3.1CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
3 metrics
We show the highest score from the newest CVSS version. Scores from different versions can't be compared, and the first score listed is sometimes a 0.0 placeholder.
| Version | Score | Band | Vector | Assigner | Type | |
|---|---|---|---|---|---|---|
| CVSS 3.1 | 7.5 | HIGH | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H |
NVD | Primary | published |
| CVSS 3.1 | 7.5 | HIGH | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H |
CISA-ADP | Secondary | |
| CVSS 2.0 | 5.0 | none | AV:N/AC:L/Au:N/C:N/I:N/A:P |
NVD | Primary |
Affected software and releases
Oracle advisories
| Advisory | Type | Quarter | Products Oracle names in its risk matrix |
|---|---|---|---|
| Oracle Critical Patch Update July 2022 ↗ | CPU | 2022-Q3 | Oracle Communications / Mediation Engine (OpenSSL) (4.3, 4.4, 5.0) Oracle Communications / SEPP (OpenSSL) (22.1.1) Oracle Communications / Security (OpenSSL) (3.3) Oracle Communications / Security (OpenSSL) (8.2.5) Oracle Communications / Security (OpenSSL) (8.2.5, 8.4.5) Oracle Communications / Security (OpenSSL) (8.4, 9.0, 9.1) Oracle Communications / Security (OpenSSL) (8.4, 9.0, 9.1) Oracle Communications / UDR (OpenSSL) (22.2.0) |
| Oracle Critical Patch Update April 2022 ↗ | CPU | 2022-Q2 | Oracle Java SE / Node (OpenSSL) (Oracle GraalVM Enterprise Edition: 20.3.5, 21.3.1, 22.0.0.2) Oracle MySQL / Connector/C++ (OpenSSL) (8.0.28 and prior) Oracle MySQL / Connector/ODBC (OpenSSL) (8.0.28 and prior) Oracle MySQL / Monitoring: General (OpenSSL) (8.0.29 and prior) Oracle MySQL / Server: Packaging (OpenSSL) (5.7.37 and prior, 8.0.28 and prior) Oracle MySQL / Workbench: libssh (OpenSSL) (8.0.28 and prior) |
Oracle components and versions
| Family | Component | Versions, as Oracle lists them | Read as |
|---|---|---|---|
| Oracle Communications | Mediation Engine (OpenSSL) | 4.3, 4.4, 5.0 | 4.3 · 4.4 · 5.0 |
| Oracle Communications | SEPP (OpenSSL) | 22.1.1 | 22.1.1 |
| Oracle Communications | Security (OpenSSL) | 3.3 | 3.3 · 8.2.5 · 8.4 · 8.4.5 · 9.0 · 9.1 |
| Oracle Communications | UDR (OpenSSL) | 22.2.0 | 22.2.0 |
| Oracle Java SE | Node (OpenSSL) | Oracle GraalVM Enterprise Edition: 20.3.5, 21.3.1, 22.0.0.2 | 20.3.5.0 · 21.3.1.0 · 22.0.0.0 |
| Oracle MySQL | Connector/C++ (OpenSSL) | 8.0.28 and prior | |
| Oracle MySQL | Connector/ODBC (OpenSSL) | 8.0.28 and prior | |
| Oracle MySQL | Monitoring: General (OpenSSL) | 8.0.29 and prior | |
| Oracle MySQL | Server: Packaging (OpenSSL) | 5.7.37 and prior, 8.0.28 and prior | |
| Oracle MySQL | Workbench: libssh (OpenSSL) | 8.0.28 and prior |
Products and versions
13 products, 30 version entries| Source | Vendor | Product | Scheme | Affected versions |
|---|---|---|---|---|
| nvd | debian | debian linux | generic | 9.0 · 10.0 · 11.0 |
| nvd | fedoraproject | fedora | generic | 34 · 36 |
| nvd | mariadb | mariadb | generic | ≥ 10.2.0 and < 10.2.42 · ≥ 10.3.0 and < 10.3.33 · ≥ 10.4.0 and < 10.4.23 · ≥ 10.5.0 and < 10.5.14 · ≥ 10.6.0 and < 10.6.6 · ≥ 10.7.0 and < 10.7.2 |
| nvd | netapp | 500f firmware | generic | any version |
| nvd | netapp | a250 firmware | generic | any version |
| nvd | netapp | cloud volumes ontap mediator | generic | any version |
| nvd | netapp | clustered data ontap | generic | any version |
| nvd | netapp | clustered data ontap antivirus connector | generic | any version |
| nvd | netapp | santricity smi-s provider | generic | any version |
| nvd | netapp | storagegrid | generic | any version |
| nvd | nodejs | node.js | generic | ≥ 12.0.0 and ≤ 12.12.0 · ≥ 12.13.0 and < 12.22.11 · > 14.0.0 and ≤ 14.14.0 · ≥ 14.15.0 and < 14.19.1 · > 16.0.0 and ≤ 16.12.0 · ≥ 16.13.0 and < 16.14.2 · > 17.0.0 and < 17.7.2 |
| nvd | openssl | openssl | generic | ≥ 1.0.2 and < 1.0.2 · ≥ 1.1.0 and < 1.1.1 · ≥ 3.0.0 and < 3.0.2 |
| nvd | tenable | nessus | generic | < 8.15.4 · ≥ 10.0.0 and < 10.1.2 |
References
| URL | Tags |
|---|---|
| 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 |
| http://seclists.org/fulldisclosure/2022/May/33 | Mailing List, Third Party Advisory |
| http://seclists.org/fulldisclosure/2022/May/35 | Mailing List, Third Party Advisory |
| http://seclists.org/fulldisclosure/2022/May/38 | Mailing List, Third Party Advisory |
| https://cert-portal.siemens.com/productcert/pdf/ssa-712929.pdf | Third Party Advisory |
| 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://git.openssl.org/gitweb/?p=openssl.git%3Ba=commitdiff%3Bh=a466912611aa6cbdf550cd10601390e587451246 | |
| https://lists.debian.org/debian-lts-announce/2022/03/msg00023.html | Mailing List, Third Party Advisory |
| https://lists.debian.org/debian-lts-announce/2022/03/msg00024.html | Mailing List, Third Party Advisory |
Timeline
Timeline
| Published | 2022-03-15 | By the CVE Program. |
|---|---|---|
| NVD record modified | 2026-10-14 | NVD's own last-modified date for this record. |