cbcvebase.
CVE-2022-0778
published 2022-03-15

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…

PriorityP262high7.5CVSS 3.1
AVNACLPRNUINSUCNINAH
EPSS
70.56%
99.3th percentile
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).

Affected

59 ranges· showing 25
VendorProductVersion rangeFixed in
applemacos_big_sur
applemacos_monterey
applesecurity_update_2022-004_catalina
debiandebian_linux
debiandebian_linux
debiandebian_linux
debianopenssl< openssl 1.1.1n-1 (bookworm)openssl 1.1.1n-1 (bookworm)
fedoraprojectfedora
fedoraprojectfedora
mariadbmariadb>= 10.2.0 < 10.2.4210.2.42
mariadbmariadb>= 10.3.0 < 10.3.3310.3.33
mariadbmariadb>= 10.4.0 < 10.4.2310.4.23
mariadbmariadb>= 10.5.0 < 10.5.1410.5.14
mariadbmariadb>= 10.6.0 < 10.6.610.6.6
mariadbmariadb>= 10.7.0 < 10.7.210.7.2
msrcazl3_edk2_20230301gitf80f052277c8-37_on_azure_linux_3.0
msrcazl3_edk2_20240223gitedc6681206c1-1_on_azure_linux_3.0
msrcazl3_rust_1.75.0-14_on_azure_linux_3.0
msrcazl3_rust_1.86.0-1_on_azure_linux_3.0
msrcazl3_shim-unsigned-aarch64_15.8-5_on_azure_linux_3.0
msrcazl3_shim-unsigned-x64_15.8-5_on_azure_linux_3.0
msrcazure_linux_3.0_arm
msrcazure_linux_3.0_x64
msrccbl2_openssl_1.1.1k-12_on_cbl_mariner_2.0
msrccbl_mariner_1.0_arm

Detection & IOCsextracted from sources · hover to see the quote

otherOpenSSL Denial of Service (CVE-2022-0778)
  • Trigger vector: crafted X.509 certificate with invalid explicit elliptic curve parameters causes BN_mod_sqrt() to loop infinitely; certificate parsing occurs before signature verification, so any process parsing an externally supplied certificate is vulnerable.
  • Crafted private keys containing explicit elliptic curve parameters can also trigger the infinite loop — monitor for abnormal CPU/hang conditions during private key parsing operations.
  • In OpenSSL 1.0.2, the public key is not parsed during initial certificate parsing, but any operation requiring the public key (including signature verification of a self-signed certificate) will trigger the loop — a self-signed certificate can be used as an attack vector.
  • Affected attack surfaces include TLS clients consuming server certificates, TLS servers consuming client certificates, CAs parsing CSRs, and hosting providers accepting customer certificates/keys — prioritize monitoring at TLS handshake inspection points.
  • Palo Alto Networks firewall, VPN, and XDR agent products were confirmed vulnerable — treat these as high-priority assets for patching and anomaly monitoring.
  • Hitachi Energy MicroSCADA Pro/X SYS600 (versions 10.3.1 and earlier, and 9.x) are vulnerable ICS/OT assets; exploitation is remotely possible with low attack complexity — isolate from internet and business networks.
  • CVSS vector AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H — network-reachable, no authentication required, no user interaction; use this to prioritize detection rules for unauthenticated TLS handshake anomalies.
  • ·Affected OpenSSL versions are 1.0.2 through 1.0.2zc, 1.1.1 through 1.1.1m, and 3.0.0–3.0.1; fixed in 1.0.2zd, 1.1.1n, and 3.0.2 respectively.

CVSS provenance

nvdv3.17.5HIGHCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
nvdv2.05.0MEDIUMAV:N/AC:L/Au:N/C:N/I:N/A:P
osv7.5HIGH
vendor_debian7.5HIGH
vendor_msrc7.5HIGH
vendor_oracle7.5HIGH
vendor_redhat7.5HIGH
vendor_ubuntu7.5HIGH
Stop checking back — get the weekly exploitation signal.

Every Monday: what got weaponized or added to CISA KEV in the last seven days — each CVE cross-linked to its PoC, Nuclei template, and detection rule. Free, one email a week, unsubscribe in one click.