Full Report
OpenSSL has published a security advisory [0] about a vulnerability in OpenSSL versions 1.1.1 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/20210325.txt
Analysis Summary
# Vulnerability: OpenSSL NULL Pointer Dereference in Signature Algorithms Processing
## CVE Details
- **CVE ID:** CVE-2021-3449
- **CVSS Score:** 5.9 (Medium)
- **CWE:** CWE-476 (NULL Pointer Dereference)
## Affected Systems
- **Products:** OpenSSL; Siemens industrial products incorporating OpenSSL (e.g., SIMATIC, SINAMICS, SCALANCE, and RUGGEDCOM families).
- **Versions:**
- OpenSSL versions 1.1.1 through 1.1.1j.
- Various Siemens product firmware versions utilizing the affected OpenSSL branches.
- **Configurations:** The vulnerability affects OpenSSL TLS servers. A server is vulnerable if it has TLSv1.2 and renegotiation enabled (which is the default configuration). It does not affect OpenSSL clients.
## Vulnerability Description
The vulnerability is a NULL pointer dereference flaw. During a TLSv1.2 renegotiation handshake, if a client omits the `signature_algorithms` extension (which was present in the initial ClientHello) but includes a `signature_algorithms_cert` extension, a internal variable is improperly set to NULL. When the server later attempts to process signature algorithms, it dereferences this NULL pointer, leading to an immediate crash of the OpenSSL process.
## Exploitation
- **Status:** PoC available; not widely reported as exploited in the wild at the time of the advisory.
- **Complexity:** Low (Requires sending a specific sequence of TLS messages).
- **Attack Vector:** Network (Unauthenticated).
## Impact
- **Confidentiality:** None
- **Integrity:** None
- **Availability:** High (Results in a Denial-of-Service condition by crashing the server process).
## Remediation
### Patches
- **OpenSSL:** Upgrade to version **1.1.1k** or later.
- **Siemens:** Refer to the specific Siemens Security Advisory (SSA-332309) for a list of product-specific firmware updates. Users should apply the latest firmware updates for their respective devices as they become available.
### Workarounds
- **Disable TLSv1.2 Renegotiation:** If the application allows, disabling renegotiation on the server side will prevent the attack.
- **Upgrade to TLSv1.3:** The vulnerability does not affect TLSv1.3 as it handles renegotiation differently.
- **Network Segmentation:** Restrict access to affected device management interfaces to trusted networks only.
## Detection
- **Indicators of Compromise:** Unexpected crashing of TLS-enabled services; logs indicating a segmentation fault in OpenSSL libraries (`libssl`).
- **Detection methods and tools:** Vulnerability scanners (e.g., Nessus, OpenVAS) have plugins specifically designed to check for CVE-2021-3449 by attempting a safe version of the malformed renegotiation.
## References
- OpenSSL Security Advisory: hxxps[://]www[.]openssl[.]org/news/secadv/20210325[.]txt
- Siemens Security Advisory: hxxps[://]cert-portal[.]siemens[.]com/productcert/pdf/ssa-332309[.]pdf
- NIST NVD Entry: hxxps[://]nvd[.]nist[.]gov/vuln/detail/CVE-2021-3449