What is CVE-2022-0778?A high-severity flaw in OpenSSL, explained.
CVE-2022-0778 is a high-severity flaw (CVSS 7.5) in OpenSSL, published on 15 March 2022. It is not on the list of flaws known to be exploited today. The latest forecast puts its chance of use in the next 30 days at 73%. If you run an affected version, plan in the vendor’s fix.
Published 15 March 2022. Record last updated 21 June 2024. We keep this page's data up to date.
What is CVE-2022-0778? In plain terms.
It can be attacked from anywhere on the internet without logging in, and nobody has to click anything. If it works, the attacker can take it offline.
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).
What kind of flaw is it?
- CWE-835Loop with Unreachable Exit Condition ('Infinite Loop')
How an attack on it works
Read straight from its severity rating, translated out of the shorthand.
- Where an attacker can beAnywhere on the internet
- How hard it is to pull offEasy: no special conditions
- Login needed firstNo login needed
- Does someone have to clickNo, nobody has to do anything
- What an attacker getsCan take it offline
Severity vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Is CVE-2022-0778 being exploited? Not that we know of.
It is not on the list of flaws known to be exploited today. The latest forecast puts the chance of it being used in the next 30 days at 73%. That can change at any time, which is why we keep watching.
Timeline
- Published
- Record last updated
- Exploit likelihood jumped
- Exploit likelihood fell
CVE-2022-0778 scores 60. Action: Plan remediation.
We keep the score of every published flaw up to date as the evidence changes. Four things go into the score, and evidence that criminals are actually using it counts most. In order:
- Evidence it is being exploitedBiggest factor
- How severe it isStrong factor
- How widely exposed it isSmaller factor
- Threat activity around itSmaller factor
85 and above is Critical. Anything confirmed as exploited is always marked for an emergency patch, whatever its score.
When CVE-2022-0778 matches software you track, it lands in your list with its score and the reasons behind it.
See your own ranked list →Who is affected by CVE-2022-0778? 15 products.
The published record lists 15 products from 7 vendors. Versions are shown as published: "1.0.2 to before 1.0.2zd" means from 1.0.2 up to, but not including, 1.0.2zd. If you run one of these, check your version, then go to the fix below.
- Application
OpenSSL
by OpenSSL
Affected versions1.0.2 to before 1.0.2zd1.1.0 to before 1.1.1n3.0.0 to before 3.0.2 - Application
Node.js
by Nodejs
Affected versions12.0.0 to 12.12.012.13.0 to before 12.22.11after 14.0.0 to 14.14.014.15.0 to before 14.19.1after 16.0.0 to 16.12.016.13.0 to before 16.14.2 - Application
Mariadb
by Mariadb
Affected versions10.2.0 to before 10.2.4210.3.0 to before 10.3.3310.4.0 to before 10.4.2310.5.0 to before 10.5.1410.6.0 to before 10.6.610.7.0 to before 10.7.2 - Operating system
Debian Linux
by Debian
Affected versions9.010.011.0 - Operating system
Fedora
Affected versions3436 - Application
Nessus
by Tenable
Affected versionsbefore 8.15.410.0.0 to before 10.1.2 - Hardware
500f
by Netapp
Affected versionsversion not specified - Operating system
500f Firmware
by Netapp
Affected versionsversion not specified - Hardware
A250
by Netapp
Affected versionsversion not specified
How do I fix CVE-2022-0778? Four steps.
- Check whether you run itCompare your versions with the affected products above. Not sure what you run? Precursor Intelligence can work it out from your public website, or you can pick it from a list.
- Apply the vendor’s fixInstall the update named in the vendor’s advisory. We’ve put the advisory first in the list.
- If you can’t patch todayFollow any mitigation the vendor publishes, and limit who can reach the affected system from the internet until the update is in.
- Keep an eye on itTrack the product and we tell you as soon as we spot this flaw on the list of exploited flaws, or a jump in its exploit likelihood.
References
29 links- 20220315.txt (opens in a new tab)openssl.org
- OpenSSL 1.0.2 1.1.1 3.0 BN Mod Sqrt Infinite Loop (opens in a new tab)packetstormsecurity.com
- Fulldisclosure (opens in a new tab)seclists.org · 2022
- Fulldisclosure (opens in a new tab)seclists.org · 2022
- Fulldisclosure (opens in a new tab)seclists.org · 2022
- Ssa 712929 (opens in a new tab)siemens.com · PDF
Does CVE-2022-0778 affect you? We'll keep checking.
Looking flaws up one at a time doesn't scale. Tell us what you run once, and we tell you which flaws matter to you, in what order, and keep watching for new ones.
- Tell us what you runPick your software from a list, or let us work it out from your website.
- We match it to every flawOver 400,000 published flaws, checked against your list.
- Ranked by real-world riskA 0 to 100 score, led by evidence criminals are using it.
- Told as soon as we knowAn alert by email, in the app or by webhook to your own tools.
Free plan, no card needed. Nothing to install.
1 new flaw affects software Acme tracks
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 func...
- Matched to
- OpenSSL on Acme's software list
- What to do
- Plan in the vendor’s update
Sent to the alert recipients Acme chose. Also in the app and to Acme's webhook.
CVE-2022-0778 is a high-severity flaw in OpenSSL, published on 15 March 2022. It can be attacked from anywhere on the internet without logging in, and nobody has to click anything. If it works, the attacker can take it offline.
It scores 7.5 out of 10 on the CVSS severity scale, which is high. Our risk score for CVE-2022-0778 is 60 out of 100, which is Medium. Its action is "Plan remediation". Not confirmed as exploited yet, but serious or likely enough that it should not wait for a quiet month.
It is not on the list of flaws known to be exploited today. The latest forecast puts the chance of it being used in the next 30 days at 73%. That can change at any time, which is why we keep watching.
For OpenSSL: 1.0.2 to before 1.0.2zd, 1.1.0 to before 1.1.1n, 3.0.0 to before 3.0.2. The record lists 15 products in all, each with its versions, under "Who is affected" on this page.
Install the update the vendor names in its advisory, linked first under "How do I fix" on this page. If you can't patch today, follow the vendor's mitigation and limit who can reach the affected system from the internet.