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).
No analysis available yet.
Remediation
No remediation available yet.
Tracking
Sign in to view the affected projects.
Advisories
| Source | ID | Title |
|---|---|---|
Debian DLA |
DLA-2952-1 | openssl security update |
Debian DLA |
DLA-2953-1 | openssl1.0 security update |
Debian DSA |
DSA-5103-1 | openssl security update |
EUVD |
EUVD-2022-1575 | 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). |
Github GHSA |
GHSA-x3mh-jvjw-3xwx | openssl-src's infinite loop in `BN_mod_sqrt()` reachable when parsing certificates |
Ubuntu USN |
USN-5328-1 | OpenSSL vulnerability |
Ubuntu USN |
USN-5328-2 | OpenSSL vulnerability |
Ubuntu USN |
USN-6457-1 | Node.js vulnerabilities |
Ubuntu USN |
USN-7894-1 | EDK II vulnerabilities |
References
History
Tue, 14 Apr 2026 10:30:00 +0000
Wed, 16 Jul 2025 13:45:00 +0000
| Type | Values Removed | Values Added |
|---|---|---|
| Metrics |
epss
|
epss
|
Sun, 08 Sep 2024 18:45:00 +0000
| Type | Values Removed | Values Added |
|---|---|---|
| First Time appeared |
Redhat acm
|
|
| CPEs | cpe:/a:redhat:acm:2.4::el8 cpe:/a:redhat:acm:2.5::el8 |
|
| Vendors & Products |
Redhat acm
|
Mon, 19 Aug 2024 22:15:00 +0000
| Type | Values Removed | Values Added |
|---|---|---|
| CPEs | cpe:/a:redhat:acm:2.5::el8 |
|
| Vendors & Products |
Redhat acm
|
Subscriptions
Debian
Subscribe
Debian Linux
Subscribe
Fedoraproject
Subscribe
Fedora
Subscribe
Mariadb
Subscribe
Mariadb
Subscribe
Netapp
Subscribe
500f
Subscribe
500f Firmware
Subscribe
A250
Subscribe
A250 Firmware
Subscribe
Cloud Volumes Ontap Mediator
Subscribe
Clustered Data Ontap
Subscribe
Clustered Data Ontap Antivirus Connector
Subscribe
Santricity Smi-s Provider
Subscribe
Storagegrid
Subscribe
Nodejs
Subscribe
Node.js
Subscribe
Openssl
Subscribe
Openssl
Subscribe
Redhat
Subscribe
Acm
Subscribe
Enterprise Linux
Subscribe
Jboss Core Services
Subscribe
Jboss Enterprise Web Server
Subscribe
Rhel Aus
Subscribe
Rhel E4s
Subscribe
Rhel Els
Subscribe
Rhel Eus
Subscribe
Rhel Tus
Subscribe
Rhev Hypervisor
Subscribe
Tenable
Subscribe
Nessus
Subscribe
Status: PUBLISHED
Assigner: openssl
Published:
Updated: 2026-04-14T08:58:00.706Z
Reserved: 2022-02-28T00:00:00.000Z
Link: CVE-2022-0778
No data.
Status : Modified
Published: 2022-03-15T17:15:08.513
Modified: 2026-04-14T10:16:21.510
Link: CVE-2022-0778
OpenCVE Enrichment
No data.
Weaknesses
Debian DLA
Debian DSA
EUVD
Github GHSA
Ubuntu USN