The developers of the OpenSSL library, which has implemented HTTPS secure networking in numerous applications, have stated that a critical security vulnerability will be fixed in version 3.0.7, released on November 1, 2022 (Reference Link). However, the project developers made public announcements that did not include all details of the vulnerability, as more information was kept confidential until the update for the identified vulnerability was released.
It has been announced that the critical security vulnerability detected is affected by the versions between OpenSSL 3.0 and version 3.0.6, released on September 7, 2021. Therefore the affected versions were not widely known until OpenSSL 1.x, which has been available for 12 years.
OpenSSL security vulnerabilities have a widespread impact. The HeartBleed vulnerability, discovered in April 2014, has been observed on Apache and Nginx web servers, which have a usage rate of over 66% among all active websites on the internet. However, it is unknown whether the detected and declared critical vulnerability would lead to a mass exploit like HeartBleed.
In this context, to limit the risk of being affected by the relevant security vulnerability as much as possible; Until the release of the measures by OpenSSL developers, it is recommended to master the “Software Supply Chain” processes to determine which applications the old version OpenSSL libraries are running, and to make preliminary preparations.
What did OpenSSL publish on 1 November 2022?
The project released version 3.0.7 on schedule and published a security advisory the same day. It fixes two flaws, CVE-2022-3602 and CVE-2022-3786. Both sit in the name constraint checking of X.509 certificate verification, and both are buffer overflows that a crafted email address in a certificate can trigger. Only OpenSSL 3.0.0 to 3.0.6 is affected. Versions 1.1.1 and 1.0.2 are not.
How serious were the flaws in the end?
CVE-2022-3602 was pre-announced as critical. After more analysis, OpenSSL lowered it to high. The flaw overflows four attacker-controlled bytes on the stack and could cause a crash or, potentially, remote code execution. CVE-2022-3786 can overflow an arbitrary number of bytes, but they must contain the “.” character, and the advisory lists a crash (denial of service) as its impact. According to the advisory, many platforms have stack overflow protections that lower the risk of code execution.
The advisory lists some conditions for an attack. The check runs after the certificate chain signature is verified, so a certificate authority must have signed the malicious certificate, or the application must continue after failing to build a path to a trusted issuer. A TLS client is exposed when it connects to a malicious server. A TLS server is exposed only if it asks for client authentication and a malicious client connects. As of 1 November 2022, OpenSSL knew of no working code execution exploit and had no evidence of exploitation.
What should teams do?
First, find every application and container image that bundles OpenSSL 3.0.x. A software bill of materials helps here. Then upgrade to 3.0.7 or later as soon as the vendor’s packages are available. The advisory itself urges users to upgrade as soon as possible.
