CyberSecBulletin
CVE-2022-0778NVD status: Modified

OpenSSL: Loop with Unreachable Exit Condition

CVE-2022-0778 is a high-severity loop with unreachable exit condition vulnerability in OpenSSL, with a CVSS 3.1 base score of 7.5 out of 10. It can be exploited remotely over the network by an unauthenticated attacker, without any action from a user. Affected OpenSSL versions: 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). The record does not name a fixed version, so check the vendor advisory. There is no confirmed exploitation so far. EPSS estimates a 73.2% chance of exploitation within 30 days, which is in the top 0.53% of all scored CVEs.

Patch now

Exploitation in the next 30 days is more likely than not, according to EPSS.

What to do

  1. Update BFCClient to V2.17 or a later version.
  2. Update Industrial Edge - OPC UA Connector to V1.7.0.0 or a later version.
  3. Update Industrial Edge - SIMATIC S7 Connector App to V1.7.0.0 or a later version.
  4. Read the advisory on psirt.global.sonicwall.com for workarounds and exact fixed builds.
  5. Until you can update, restrict network access to the affected service so it is not reachable from untrusted networks.

Affected products and versions

VendorProductAffected versionsFixed in
OpenSSLOpenSSLFixed 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)Not stated
SiemensBFCClientbefore V2.17V2.17
SiemensIndustrial Edge - OPC UA Connectorbefore V1.7.0.0V1.7.0.0
SiemensIndustrial Edge - SIMATIC S7 Connector Appbefore V1.7.0.0V1.7.0.0
SiemensOpenPCS 7 V8.2all versionsNot stated
SiemensOpenPCS 7 V9.0all versionsNot stated
SiemensOpenPCS 7 V9.1all versionsNot stated
SiemensRUGGEDCOM CROSSBOW Station Access Controller (SAC)all versionsNot stated
SiemensRUGGEDCOM RM1224 LTE(4G) EUbefore V7.2V7.2
SiemensRUGGEDCOM RM1224 LTE(4G) NAMbefore V7.2V7.2
SiemensRUGGEDCOM ROX MX5000before V2.15.1V2.15.1
SiemensRUGGEDCOM ROX MX5000REbefore V2.15.1V2.15.1
SiemensRUGGEDCOM ROX RX1400before V2.15.1V2.15.1
SiemensRUGGEDCOM ROX RX1500before V2.15.1V2.15.1
SiemensRUGGEDCOM ROX RX1501before V2.15.1V2.15.1
SiemensRUGGEDCOM ROX RX1510before V2.15.1V2.15.1
SiemensRUGGEDCOM ROX RX1511before V2.15.1V2.15.1
SiemensRUGGEDCOM ROX RX1512before V2.15.1V2.15.1
SiemensRUGGEDCOM ROX RX1524before V2.15.1V2.15.1
SiemensRUGGEDCOM ROX RX1536before V2.15.1V2.15.1
SiemensRUGGEDCOM ROX RX5000before V2.15.1V2.15.1
SiemensSCALANCE LPE9403before V2.0 HF0V2.0 HF0
SiemensSCALANCE M804PBbefore V7.2V7.2
SiemensSCALANCE M812-1 ADSL-Routerbefore V7.2V7.2
SiemensSCALANCE M816-1 ADSL-Routerbefore V7.2V7.2

Version data comes from the organisation that assigned the CVE; 35 further products are omitted here. Confirm against the vendor advisory before deciding you are unaffected.

How the severity score breaks down

Attack vector
NetworkCan be exploited remotely over a network, including the internet.
Attack complexity
LowNo special conditions are needed; the attack works reliably.
Privileges required
NoneNo account or login is needed.
User interaction
NoneNo action by a victim is required.
Scope
UnchangedImpact stays within the vulnerable component.
Confidentiality
NoneNo data is disclosed.
Integrity
NoneNothing can be modified.
Availability
HighThe component can be taken down completely.

Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H. Scored by NVD.

Scoring systemScoreSeverityScored by
CVSS 3.17.5HighNVD
CVSS 3.17.5HighCISA (ADP)
CVSS 2.05.0MediumNVD

Official 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).

Source: the CVE record as published by its numbering authority, via NVD and CVE.org.

The underlying weakness: Loop with Unreachable Exit Condition

The product contains an iteration or loop with an exit condition that cannot be reached, i.e., an infinite loop.

More Loop with Unreachable Exit Condition vulnerabilities (CWE-835)

Timeline

  1. CVE record published.
  2. CISA published its SSVC assessment (exploitation: none, automatable: yes, technical impact: partial).
  3. Record last changed materially (score, affected products, status or references).

References

Third-party and government advisories

Other references

Other vulnerabilities in OpenSSL

All OpenSSL vulnerabilities

Recent Loop with Unreachable Exit Condition vulnerabilities

Spotted an error? Tell us.