Full Report
A vulnerability in the openSSL component (CVE-2022-0778, [0]) could allow an attacker to create a denial of service condition by providing specially crafted elliptic curve certificates to products that use a vulnerable version of openSSL. Siemens has released updates for several affected products and recommends to update to the latest versions. Siemens is preparing further updates and recommends countermeasures for products where updates are not, or not yet available. [0] https://www.openssl.org/news/secadv/20220315.txt
Analysis Summary
# Vulnerability: OpenSSL Elliptic Curve Infinite Loop DoS
## CVE Details
- **CVE ID:** CVE-2022-0778
- **CVSS Score:** 7.5 (High)
- **CWE:** CWE-835: Loop with Unreachable Exit Condition ('Infinite Loop')
## Affected Systems
- **Products:** Siemens industrial products and any software utilizing vulnerable OpenSSL libraries.
- **Versions:**
- OpenSSL versions 1.0.2, 1.1.1, and 3.0.
- Siemens-specific versions vary by product line (refer to specific Siemens security advisories for the full inventory).
- **Configurations:** Systems that perform certificate validation (e.g., TLS clients/servers) or process Elliptic Curve (EC) parameters/keys.
## Vulnerability Description
The flaw exists within the `BN_mod_sqrt()` function of OpenSSL, which is used to compute a modular square root. When parsing a specially crafted Elliptic Curve certificate with invalid parameters, the function enters an infinite loop. Since certificate parsing occurs prior to verification, the process can be triggered by an unauthenticated actor, leading to a complete Denial of Service (DoS) as the CPU becomes consumed by the loop.
## Exploitation
- **Status:** PoC available (Publicly available exploits exist; widely discussed in the security community).
- **Complexity:** Low
- **Attack Vector:** Network (Remote)
## Impact
- **Confidentiality:** None
- **Integrity:** None
- **Availability:** Total (Service/Process hang requiring manual restart)
## Remediation
### Patches
- **OpenSSL Upgrades:**
- OpenSSL 1.1.1 users should upgrade to **1.1.1n** or later.
- OpenSSL 3.0 users should upgrade to **3.0.2** or later.
- OpenSSL 1.0.2 users (Premium Support) should upgrade to **1.0.2zd** or later.
- **Siemens Updates:** Apply the latest firmware/software updates released by Siemens for affected product lines (e.g., SCALANCE, SIMATIC, etc.).
### Workarounds
- **Isolate Systems:** Place affected industrial controllers and devices behind firewalls and isolate them from the public internet.
- **Certificate Filtering:** If possible, restrict or inspect TLS traffic at the network perimeter to block malformed certificates, though this is technically difficult at the packet level.
## Detection
- **Indicators of Compromise:** High CPU usage (100%) on services performing TLS handshakes or certificate processing without a corresponding increase in legitimate traffic.
- **Detection Methods:** Use vulnerability scanners (e.g., Nessus, OpenVAS) to identify vulnerable OpenSSL library versions on the host. Network Intrusion Detection Systems (NIDS) can be configured to alert on repeated, failed TLS handshakes.
## References
- **Siemens Advisory:** hxxps[://]cert-portal[.]siemens[.]com/productcert/pdf/ssa-712929[.]pdf
- **OpenSSL Security Advisory:** hxxps[://]www[.]openssl[.]org/news/secadv/20220315[.]txt
- **NVD Entry:** hxxps[://]nvd[.]nist[.]gov/vuln/detail/CVE-2022-0778