CVE-2022-3786 and CVE-2022-3602: OpenSSL Patches Two High Severity Vulnerabilities
OpenSSL has patched two vulnerabilities, pivoting from its earlier announcement, in version 3.0.7.
Background
On October 25, OpenSSL announced that a forthcoming release of OpenSSL version 3.0.7 would contain a patch for a critical vulnerability. That announcement preceded the release by one week, leaving ample time for speculation regarding the nature and impact of the vulnerability.
On November 1, OpenSSL released version 3.0.7 and updated its announcement, stating that investigations in the intervening week revealed a vulnerability that originally appeared to be critical was only high severity. The release also included a second high severity flaw. With the release of 3.0.7, OpenSSL patched CVE-2022-3786 and CVE-2022-3602, two buffer overflows that could result in denial of service. They affect OpenSSL versions 3.0 and later, which have only been available since September 2021 at the earliest.
At the time of initial publication, there are no public proofs-of-concept available or reports of exploitation in the wild for either of these flaws.
While the likelihood of widespread exploitation is low, organizations should prioritize patching affected applications and services as updates become available.
Analysis
CVE-2022-3786 and CVE-2022-3602 are buffer overrun vulnerabilities in the name constraint checking function of the X.509 certificate verification in OpenSSL. Both flaws are rated as HIGH severity. Exploitation occurs when a certificate contains a specially crafted punycode-encoded email address designed to trigger the buffer overrun. Successful exploitation could lead to a denial of service (DOS) condition.
CVE-2022-3602 was originally considered critical due to the possibility of remote code execution (RCE). However, during its prenotification process, OpenSSL determined that the potential for RCE was mitigated by the fact that modern platforms contain stack overflow protections and that in some Linux distributions, both RCE and DOS were not feasible. Broadly speaking, the risk for RCE is low, though not zero, which is why the severity of the vulnerability was changed from critical to high.
To exploit both flaws, an attacker would need to convince a certificate authority to sign a malicious certificate or “for the application to continue with the certificate verification despite failure to construct a path to a trusted issuer.”
OpenSSL says that these flaws were introduced in OpenSSL 3.0.0 following the addition of its punycode decoding functionality, which is used for “processing email address name constraints in X.509 certificates.” Therefore, this flaw only impacts OpenSSL 3.0.0 through OpenSSL 3.0.6.
Solution
OpenSSL version 3.0.7 has been released to address these vulnerabilities. Downloads for the new release can be found here.
Identifying affected systems
A list of Tenable plugins to identify these vulnerabilities will appear here as they’re released. This link uses a search filter to ensure that all matching plugin coverage will appear as it is released. Additionally, the plugins in this list can be used for generic OpenSSL version detection.
Get more information
Join Tenable’s Security Response Team on the Tenable Community.
Learn more about Tenable, the first Cyber Exposure platform for holistic management of your modern attack surface.
Get a free 30-day trial of Tenable.io Vulnerability Management.