CVE-2022-0778
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).
- Score
- CVSS 3.1 7.5 High
- Status
- Modified - openssl-security@openssl.org
- Published
- 2022-03-15
- Last modified
- 2026-10-14
- Weaknesses
- CWE-835
Affected products
- Debian Linux (Debian)
- Fedora (Fedoraproject)
- Mariadb (Mariadb)
- 500f Firmware (Netapp)
- A250 Firmware (Netapp)
- Cloud Volumes Ontap Mediator (Netapp)
- Clustered Data Ontap (Netapp)
- Clustered Data Ontap Antivirus Connector (Netapp)
- Santricity Smi-s Provider (Netapp)
- Storagegrid (Netapp)
- Node.js (Nodejs)
- Openssl (Openssl)
- 1x230v (Siemens)
- 1x230v L3 Int. (Siemens)
- 24v (Siemens)
- 24v L3 Int. (Siemens)
- 2x230v (Siemens)
- 2x230v L3 Int. (Siemens)
- 4xge (Siemens)
- 4xgedc24v (Siemens)
- Ac 230v (Siemens)
- Bfcclient (Siemens)
- Coated (Siemens)
- Dc 24v (Siemens)
- Eip (Siemens)
- Industrial Edge - Opc Ua Connector (Siemens)
- Industrial Edge - Simatic S7 Connector App (Siemens)
- L3 Int. (Siemens)
- Openpcs 7 V8.2 (Siemens)
- Openpcs 7 V9.0 (Siemens)
- Openpcs 7 V9.1 (Siemens)
- Pn (Siemens)
- Ports On Front (Siemens)
- Ports On Rear (Siemens)
- Ruggedcom Crossbow Station Access Controller Sac (Siemens)
- Ruggedcom Rm1224 Lte4g Eu (Siemens)
- Ruggedcom Rm1224 Lte4g Nam (Siemens)
- Ruggedcom Rox Mx5000 (Siemens)
- Ruggedcom Rox Mx5000re (Siemens)
- Ruggedcom Rox Rx1400 (Siemens)
- Ruggedcom Rox Rx1500 (Siemens)
- Ruggedcom Rox Rx1501 (Siemens)
- Ruggedcom Rox Rx1510 (Siemens)
- Ruggedcom Rox Rx1511 (Siemens)
- Ruggedcom Rox Rx1512 (Siemens)
- Ruggedcom Rox Rx1524 (Siemens)
- Ruggedcom Rox Rx1536 (Siemens)
- Ruggedcom Rox Rx5000 (Siemens)
- Scalance Lpe9403 (Siemens)
- Scalance M804pb (Siemens)
- Scalance M812-1 Adsl-router (Siemens)
- Scalance M816-1 Adsl-router (Siemens)
- Scalance M826-2 Shdsl-router (Siemens)
- Scalance M874-2 (Siemens)
- Scalance M874-3 (Siemens)
- Scalance M876-3 (Siemens)
- Scalance M876-3 Rok (Siemens)
- Scalance M876-4 (Siemens)
- Scalance M876-4 Eu (Siemens)
- Scalance M876-4 Nam (Siemens)
- Scalance Mum853-1 Eu (Siemens)
- Scalance Mum856-1 Eu (Siemens)
- Scalance Mum856-1 Row (Siemens)
- Scalance S615 Eec Lan-router (Siemens)
- Scalance S615 Lan-router (Siemens)
- Scalance Sc622-2c (Siemens)
- Scalance Sc632-2c (Siemens)
- Scalance Sc636-2c (Siemens)
- Scalance Sc642-2c (Siemens)
- Scalance Sc646-2c (Siemens)
- Scalance W1748-1 M12 (Siemens)
- Scalance W1750d Jp (Siemens)
- Scalance W1750d Row (Siemens)
- Scalance W1750d Usa (Siemens)
- Scalance W1788-1 M12 (Siemens)
- Scalance W1788-2 Eec M12 (Siemens)
- Scalance W1788-2 M12 (Siemens)
- Scalance W1788-2ia M12 (Siemens)
- Scalance W721-1 Rj45 (Siemens)
- Scalance W722-1 Rj45 (Siemens)
- Scalance W734-1 Rj45 (Siemens)
- Scalance W734-1 Rj45 Usa (Siemens)
- Scalance W738-1 M12 (Siemens)
- Scalance W748-1 M12 (Siemens)
- Scalance W748-1 Rj45 (Siemens)
- Scalance W761-1 Rj45 (Siemens)
- Scalance W774-1 M12 Eec (Siemens)
- Scalance W774-1 Rj45 (Siemens)
- Scalance W774-1 Rj45 Usa (Siemens)
- Scalance W778-1 M12 (Siemens)
- Scalance W778-1 M12 Eec (Siemens)
- Scalance W778-1 M12 Eec Usa (Siemens)
- Scalance W786-1 Rj45 (Siemens)
- Scalance W786-2 Rj45 (Siemens)
- Scalance W786-2 Sfp (Siemens)
- Scalance W786-2ia Rj45 (Siemens)
- Scalance W788-1 M12 (Siemens)
- Scalance W788-1 Rj45 (Siemens)
- Scalance W788-2 M12 (Siemens)
- Scalance W788-2 M12 Eec (Siemens)
References
- https://www.openssl.org/news/secadv/20220315.txt
- 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
- https://lists.debian.org/debian-lts-announce/2022/03/msg00023.html
- https://lists.debian.org/debian-lts-announce/2022/03/msg00024.html
- https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/GDB3GQVJPXJE7X5C5JN6JA…
- https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/323SNN6ZX7PRJJWP2BUAFL…
- https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/W6K3PR542DXWLEFFMFIDMM…
- https://www.oracle.com/security-alerts/cpuapr2022.html
- https://security.netapp.com/advisory/ntap-20220321-0002/
- https://psirt.global.sonicwall.com/vuln-detail/SNWLID-2022-0002
- https://www.tenable.com/security/tns-2022-06
- https://www.tenable.com/security/tns-2022-07
- https://www.tenable.com/security/tns-2022-08
- http://seclists.org/fulldisclosure/2022/May/33
- http://seclists.org/fulldisclosure/2022/May/35
- http://seclists.org/fulldisclosure/2022/May/38
- https://www.oracle.com/security-alerts/cpujul2022.html
- https://support.apple.com/kb/HT213257
- https://support.apple.com/kb/HT213256
- https://support.apple.com/kb/HT213255
- https://www.tenable.com/security/tns-2022-09
- https://security.netapp.com/advisory/ntap-20220429-0005/
- http://packetstormsecurity.com/files/167344/OpenSSL-1.0.2-1.1.1-3.0-BN_mod_sqrt-Infinite-Loop.html
- https://cert-portal.siemens.com/productcert/pdf/ssa-712929.pdf
- https://security.gentoo.org/glsa/202210-02
- https://security.netapp.com/advisory/ntap-20240621-0006/
- https://cert-portal.siemens.com/productcert/html/ssa-712929.html