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).
CVE-2022-0778
This high-severity CVE scores 7.5 under NVD CVSS v3. EPSS exploit probability: 70.6%, top 1% of all CVEs by exploit prediction. GitHub Security Advisory data not yet ingested — confidence will rise once GHSA publishes (typical lag: hours to days for open-source ecosystem CVEs; never for infrastructure-only CVEs).
- High exploitation likelihood — EPSS 71%
A fix is available — apply it.
- CVSS v3
- 7.5
- EG Score
- 7.5(medium)
- EPSS
- 99.3%
- KEV
- Not listed
Published
March 15, 2022
Last Modified
May 22, 2026
References (63)
- openssl-security@opensslhttp://packetstormsecurity.com/files/167344/OpenSSL-1.0.2-1.1.1-3.0-BN_mod_sqrt-Infinite-Loop.html
- openssl-security@opensslhttp://seclists.org/fulldisclosure/2022/May/33
- openssl-security@opensslhttp://seclists.org/fulldisclosure/2022/May/35
- openssl-security@opensslhttp://seclists.org/fulldisclosure/2022/May/38
- openssl-security@opensslhttps://cert-portal.siemens.com/productcert/pdf/ssa-712929.pdf
- openssl-security@opensslhttps://git.openssl.org/gitweb/?p=openssl.git%3Ba=commitdiff%3Bh=3118eb64934499d93db3230748a452351d1d9a65
- openssl-security@opensslhttps://git.openssl.org/gitweb/?p=openssl.git%3Ba=commitdiff%3Bh=380085481c64de749a6dd25cdf0bcf4360b30f83
- openssl-security@opensslhttps://git.openssl.org/gitweb/?p=openssl.git%3Ba=commitdiff%3Bh=a466912611aa6cbdf550cd10601390e587451246
- openssl-security@opensslhttps://lists.debian.org/debian-lts-announce/2022/03/msg00023.html
- openssl-security@opensslhttps://lists.debian.org/debian-lts-announce/2022/03/msg00024.html
- openssl-security@opensslhttps://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/323SNN6ZX7PRJJWP2BUAFLPUAE42XWLZ/
- openssl-security@opensslhttps://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/GDB3GQVJPXJE7X5C5JN6JAA4XUDWD6E6/
- openssl-security@opensslhttps://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/W6K3PR542DXWLEFFMFIDMME4CWMHJRMG/
- openssl-security@opensslhttps://psirt.global.sonicwall.com/vuln-detail/SNWLID-2022-0002
- openssl-security@opensslhttps://security.gentoo.org/glsa/202210-02
Vendor Advisories for CVE-2022-0778(10)
These vendors published their own advisory mentioning this CVE — often with vendor-specific remediation steps + affected product lists not in NVD.
- CVE-2022-0778Microsoft Security Response Center (MSRC)
CVE-2022-0778
- RHSA-2022:4956Red Hat Product SecurityHigh
Red Hat Security Advisory: Red Hat Advanced Cluster Management 2.5 security updates, images, and bug fixes
- RHSA-2022:4896Red Hat Product SecurityHigh
Red Hat Security Advisory: Red Hat Virtualization security, bug fix, and enhancement update [ovirt-4.5.0]
- RHSA-2022:1476Red Hat Product SecurityMedium
Red Hat Security Advisory: Red Hat Advanced Cluster Management 2.4.3 security updates and bug fixes
- RHSA-2022:1082Red Hat Product SecurityHigh
Red Hat Security Advisory: openssl security update
- RHSA-2022:1077Red Hat Product SecurityHigh
Red Hat Security Advisory: openssl security update
- RHSA-2022:1078Red Hat Product SecurityHigh
Red Hat Security Advisory: openssl security update
- RHSA-2022:1066Red Hat Product SecurityHigh
Red Hat Security Advisory: openssl security update
- +2 more
Patch Availability(22)
Patches are aggregated from vendor advisories (Red Hat, Microsoft, Cisco, GitHub) and package ecosystems (OSV, GHSA). Multiple rows for the same upstream release have been deduplicated.
Affected Packages
(1 across 1 ecosystem)
crates.io(1)
| Package | Vulnerable range | Fixed in | Dependents |
|---|---|---|---|
| openssl-src | — | 300.0.5 | — |
Weakness Classification(1)
MITRE Common Weakness Enumeration — the root-cause categories this CVE belongs to.
Additional Vendor Advisories
(15)
Vendors that published advisories for this CVE beyond the curated set above. Broader coverage but minimal per-row detail — click through for the original advisory.
- Red HatRHSA-2022:1065IMPORTANT2022-03-15
RHSA-2022:1065 — Important
- Red HatRHSA-2022:1071IMPORTANT2022-03-15
RHSA-2022:1071 — Important
- Red HatRHSA-2022:1091IMPORTANT2022-03-15
RHSA-2022:1091 — Important
- Red HatRHSA-2022:1112IMPORTANT2022-03-15
RHSA-2022:1112 — Important
- Red HatRHSA-2022:1263IMPORTANT2022-03-15
RHSA-2022:1263 — Important
- Red HatRHSA-2022:1389IMPORTANT2022-03-15
RHSA-2022:1389 — Important
- Red HatRHSA-2022:1390IMPORTANT2022-03-15
RHSA-2022:1390 — Important
- Red HatRHSA-2022:1519IMPORTANT2022-03-15
RHSA-2022:1519 — Important
- Red HatRHSA-2022:1520IMPORTANT2022-03-15
RHSA-2022:1520 — Important
- Red HatRHSA-2022:4899IMPORTANT2022-03-15
RHSA-2022:4899 — Important
- Red HatRHSA-2022:5326IMPORTANT2022-03-15
RHSA-2022:5326 — Important
- UbuntuUSN-5328-1HIGH
OpenSSL vulnerability
- UbuntuUSN-5328-2HIGH
OpenSSL vulnerability
- UbuntuUSN-6457-1HIGH
Node.js vulnerabilities
- UbuntuUSN-7894-1HIGH
EDK II vulnerabilities
Data Freshness Timeline
(refreshed 9× in last 7d / 29× in last 30d)
Each row is a source pipeline that fetched or updated this CVE on that date, with what changed. For example, "NVD update" means NVD published or revised its analysis for this CVE; "MITRE cvelistV5" means we ingested or refreshed it from the CNA feed. Most recent first.
Showing the most recent 100 of 110 total refreshes for this CVE.
- 2026-07-22 22:53 UTCEG score recompute
- 2026-07-22 14:06 UTCEPSS rescore
- 2026-07-21 15:22 UTCEPSS rescore
- 2026-07-21 15:22 UTCEPSS rescore
- 2026-07-20 17:05 UTCEPSS rescore
- 2026-07-19 02:27 UTCEPSS rescore
- 2026-07-19 02:27 UTCEPSS rescore
- 2026-07-16 17:00 UTCEPSS rescore
- 2026-07-16 17:00 UTCEPSS rescore
- 2026-07-15 16:55 UTCEPSS rescore
- 2026-07-15 01:58 UTCEPSS rescore
- 2026-07-15 01:58 UTCEPSS rescore
- 2026-07-13 06:11 UTCEPSS rescore
- 2026-07-13 06:11 UTCEPSS rescore
- 2026-07-11 13:11 UTCOSV refresh
- 2026-07-11 08:25 UTCEPSS rescore
- 2026-07-09 19:07 UTCEPSS rescore
- 2026-07-09 19:07 UTCEPSS rescore
- 2026-07-04 06:29 UTCEPSS rescore
- 2026-07-04 06:29 UTCEPSS rescore
- 2026-07-01 15:04 UTCEPSS rescore
- 2026-06-27 03:07 UTCEPSS rescore
- 2026-06-27 03:06 UTCEPSS rescore
- 2026-06-25 13:48 UTCEPSS rescore
- 2026-06-25 13:48 UTCEPSS rescore
Show 75 moreShow fewer
- 2026-06-24 14:03 UTCEPSS rescore
- 2026-06-24 14:03 UTCEPSS rescore
- 2026-06-23 21:31 UTCEPSS rescore
- 2026-06-23 21:31 UTCEPSS rescore
- 2026-06-22 19:35 UTCOSV refresh
- 2026-06-21 14:55 UTCEPSS rescore
- 2026-06-21 01:58 UTCEPSS rescore
- 2026-06-21 01:58 UTCEPSS rescore
- 2026-06-18 17:51 UTCEPSS rescore
- 2026-06-18 17:51 UTCEPSS rescore
- 2026-06-17 17:51 UTCEPSS rescore
- 2026-06-17 17:51 UTCEPSS rescore
- 2026-06-16 17:51 UTCEPSS rescore
- 2026-06-15 17:46 UTCEPSS rescore
- 2026-06-14 23:15 UTCEPSS rescore
- 2026-06-14 23:15 UTCEPSS rescore
- 2026-06-13 22:58 UTCEPSS rescore
- 2026-06-13 22:58 UTCEPSS rescore
- 2026-06-12 23:10 UTCEPSS rescore
- 2026-06-11 13:58 UTCEPSS rescore
- 2026-06-10 22:16 UTCEPSS rescore
- 2026-06-10 13:20 UTCEPSS rescore
- 2026-06-07 15:23 UTCEPSS rescore
- 2026-06-07 15:23 UTCEPSS rescore
- 2026-06-06 13:46 UTCEPSS rescore
- 2026-06-06 13:46 UTCEPSS rescore
- 2026-06-05 22:45 UTCEPSS rescore
- 2026-06-05 22:45 UTCEPSS rescore
- 2026-06-05 10:00 UTCOSV refresh
- 2026-06-05 06:09 UTCEPSS rescore
- 2026-06-05 06:09 UTCEPSS rescore
- 2026-06-04 13:11 UTCEPSS rescore
- 2026-06-04 13:10 UTCEPSS rescore
- 2026-06-02 20:11 UTCEPSS rescore
- 2026-06-02 20:11 UTCEPSS rescore
- 2026-06-01 13:50 UTCEPSS rescore
- 2026-06-01 13:50 UTCEPSS rescore
- 2026-05-31 22:29 UTCEPSS rescore
- 2026-05-31 00:15 UTCEPSS rescore
- 2026-05-31 00:15 UTCEPSS rescore
- 2026-05-29 13:42 UTCEPSS rescore
- 2026-05-28 13:43 UTCEPSS rescore
- 2026-05-28 13:43 UTCEPSS rescore
- 2026-05-27 13:39 UTCEPSS rescore
- 2026-05-27 13:39 UTCEPSS rescore
- 2026-05-26 13:43 UTCEPSS rescore
- 2026-05-26 13:42 UTCEPSS rescore
- 2026-05-22 21:16 UTCEPSS rescore
- 2026-05-22 21:16 UTCEPSS rescore
- 2026-05-22 21:16 UTCEPSS rescore
- 2026-05-22 21:16 UTCEPSS rescore
- 2026-05-22 21:16 UTCEPSS rescore
- 2026-05-22 21:16 UTCEPSS rescore
- 2026-05-22 21:16 UTCEPSS rescore
- 2026-05-22 06:45 UTCEG score recompute
- 2026-05-22 06:45 UTCVendor advisory
- 2026-05-21 22:41 UTCEPSS rescore
- 2026-05-21 22:41 UTCEPSS rescore
- 2026-05-20 22:37 UTCEPSS rescore
- 2026-05-20 22:37 UTCEPSS rescore
- 2026-05-20 22:37 UTCEPSS rescore
- 2026-05-20 22:37 UTCEPSS rescore
- 2026-05-20 22:37 UTCEPSS rescore
- 2026-05-20 22:37 UTCEPSS rescore
- 2026-05-20 22:37 UTCEPSS rescore
- 2026-05-20 22:37 UTCEPSS rescore
- 2026-05-20 22:37 UTCEPSS rescore
- 2026-05-20 11:21 UTCEPSS rescore
- 2026-05-20 11:21 UTCEPSS rescore
- 2026-05-20 11:21 UTCEPSS rescore
- 2026-05-20 11:21 UTCEPSS rescore
- 2026-05-20 11:21 UTCEPSS rescore
- 2026-05-20 11:21 UTCEPSS rescore
- 2026-05-20 11:21 UTCEPSS rescore
- 2026-05-20 11:21 UTCEPSS rescore
Publicly available exploits
(4 references)Working exploit code is in the public domain (4 GitHub PoCs). Defenders should treat patch urgency accordingly — public PoCs typically lead to mass-exploitation within 24-72 hours.
- GitHub PoC0xUhaw/CVE-2022-0778First seen Apr 21, 2022
Proof of concept for CVE-2022-0778 in P12 and PEM format
Open source ↗ - Open source ↗GitHub PoCjkakavas/CVE-2022-0778-POCFirst seen Apr 18, 2022
- Open source ↗GitHub PoCyywing/cve-2022-0778First seen Apr 4, 2022
- GitHub PoCdrago-96/CVE-2022-0778First seen Mar 15, 2022
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
Open source ↗
Frequently asked(5)
What is CVE-2022-0778?
When was CVE-2022-0778 disclosed?
Is CVE-2022-0778 actively exploited?
What is the CVSS score of CVE-2022-0778?
How do I remediate CVE-2022-0778?
Dependency Blast Radius
See which npm, PyPI, Go, and Maven packages are affected by CVE-2022-0778
Is Your Infrastructure Affected by CVE-2022-0778?
EchelonGraph automatically scans your cloud infrastructure and maps CVE exposure using blast radius analysis.