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).
Infinite Loop
ProviderTypeBase ScoreAtk. VectorAtk. ComplexityPriv. RequiredVector
NISTNIST
7.5 HIGH
NETWORK
LOW
NONE
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
opensslCNA
---
---
CVEADP
---
---
Base Score
CVSS 3.x
EPSS Score
Percentile: 90%
VendorProductVersion
opensslopenssl
1.0.2 ≤
𝑥
< 1.0.2zd
opensslopenssl
1.1.0 ≤
𝑥
< 1.1.1n
opensslopenssl
3.0.0 ≤
𝑥
< 3.0.2
debiandebian_linux
9.0
debiandebian_linux
10.0
debiandebian_linux
11.0
netappcloud_volumes_ontap_mediator
-
netappclustered_data_ontap
-
netappclustered_data_ontap_antivirus_connector
-
netappsantricity_smi-s_provider
-
netappstoragegrid
-
netappa250_firmware
-
netapp500f_firmware
-
tenablenessus
𝑥
< 8.15.4
tenablenessus
10.0.0 ≤
𝑥
< 10.1.2
mariadbmariadb
10.2.0 ≤
𝑥
< 10.2.42
mariadbmariadb
10.3.0 ≤
𝑥
< 10.3.33
mariadbmariadb
10.4.0 ≤
𝑥
< 10.4.23
mariadbmariadb
10.5.0 ≤
𝑥
< 10.5.14
mariadbmariadb
10.6.0 ≤
𝑥
< 10.6.6
mariadbmariadb
10.7.0 ≤
𝑥
< 10.7.2
nodejsnode.js
12.0.0 ≤
𝑥
≤ 12.12.0
nodejsnode.js
12.13.0 ≤
𝑥
< 12.22.11
nodejsnode.js
14.0.0 <
𝑥
≤ 14.14.0
nodejsnode.js
14.15.0 ≤
𝑥
< 14.19.1
nodejsnode.js
16.0.0 <
𝑥
≤ 16.12.0
nodejsnode.js
16.13.0 ≤
𝑥
< 16.14.2
nodejsnode.js
17.0.0 <
𝑥
< 17.7.2
𝑥
= Vulnerable software versions
Debian logo
Debian Releases
Debian Product
Codename
openssl
bullseye
1.1.1w-0+deb11u1
fixed
bullseye (security)
1.1.1w-0+deb11u2
fixed
bookworm
3.0.14-1~deb12u1
fixed
bookworm (security)
3.0.14-1~deb12u2
fixed
sid
3.3.2-2
fixed
trixie
3.3.2-2
fixed
Ubuntu logo
Ubuntu Releases
Ubuntu Product
Codename
edk2
noble
not-affected
mantic
not-affected
lunar
not-affected
kinetic
not-affected
jammy
needs-triage
impish
ignored
focal
needs-triage
bionic
needs-triage
xenial
needs-triage
trusty
dne
nodejs
noble
not-affected
mantic
not-affected
lunar
not-affected
kinetic
not-affected
jammy
Fixed 12.22.9~dfsg-1ubuntu3.1
released
impish
not-affected
focal
not-affected
bionic
not-affected
xenial
not-affected
trusty
not-affected
openssl
noble
Fixed 3.0.2-0ubuntu1
released
mantic
Fixed 3.0.2-0ubuntu1
released
lunar
Fixed 3.0.2-0ubuntu1
released
kinetic
Fixed 3.0.2-0ubuntu1
released
jammy
Fixed 3.0.2-0ubuntu1
released
impish
Fixed 1.1.1l-1ubuntu1.2
released
focal
Fixed 1.1.1f-1ubuntu2.12
released
bionic
Fixed 1.1.1-1ubuntu2.1~18.04.15
released
xenial
Fixed 1.0.2g-1ubuntu4.20+esm2
released
trusty
Fixed 1.0.1f-1ubuntu2.27+esm5
released
openssl1.0
noble
dne
mantic
dne
lunar
dne
kinetic
dne
jammy
dne
impish
dne
focal
dne
bionic
Fixed 1.0.2n-1ubuntu5.8
released
xenial
dne
trusty
dne
References