Document toolboxDocument toolbox

OpenSSL advisory vulnerability

General information

This article contains information related to CVE-2022-3602, which is a buffer overrun vulnerability that could cause denial of service or potentially RCE.

A buffer overrun can be triggered in X.509 certificate verification, specifically in name constraint checking. Note that this occurs after certificate chain signature verification and requires either a certificate authority (CA) to have signed the malicious certificate, or for the application to continue certificate verification despite failure to construct a path to a trusted issuer. An attacker can craft a malicious email address to overflow four attacker-controlled bytes on the stack. This buffer overflow could result in a crash (causing a denial of service) or potentially remote code execution.

Many platforms implement stack overflow protections which would mitigate against the risk of remote code execution. The risk may be further mitigated based on stack layout for any given platform/compiler. Pre-announcements of CVE-2022-3602 described this issue as CRITICAL. Further analysis based on some of the mitigating factors described above have led this to be downgraded to HIGH. Users are still encouraged to upgrade to a new version as soon as possible. In a TLS client, this can be triggered by connecting to a malicious server. In a TLS server, this can be triggered if the server requests client authentication and a malicious client connects. Fixed in OpenSSL 3.0.7 (Affected 3.0.0,3.0.1,3.0.2,3.0.3,3.0.4,3.0.5,3.0.6).


This CVE was first published 2022-11-01, pre-announcements gave it the score CRITICAL, but further analysis during 2022-11-02 has downgraded it to HIGH. Official NVD score is not yet published.



Official sites for the CVE:

https://nvd.nist.gov/vuln/detail/CVE-2022-3602

The Nexus Security team has investigated the impact of CVE-2022-3602, and the possible impact on our components. The component-specific information is added in the table below, and as can be seen, none of Nexus components are affected.

Nexus components

This list contains the components from Nexus, and their respective affected versions.



Component

Affected versions CVE-2022-3602

Comment

Component

Affected versions CVE-2022-3602

Comment

Smart ID Certificate Manager

Not affected

Recommendation is to check underlaying OS in your installation for OpenSSL version, and upgrade if applicable.

Nexus OCSP Responder

Not affected

Recommendation is to check underlaying OS in your installation for OpenSSL version, and upgrade if applicable.

Nexus Timestamp Server

Not affected

Recommendation is to check underlaying OS in your installation for OpenSSL version, and upgrade if applicable.

Smart ID Desktop App/Client

Not affected

Uses OpenSSL 1.1.1 which is not affected.

Recommendation is to check underlaying OS in your installation for OpenSSL version, and upgrade if applicable.

Smart ID Mobile App

Not affected



Nexus Card SDK

Not affected

Uses OpenSSL 1.1.1 which is not affected.

Recommendation is to check underlaying OS in your installation for OpenSSL version, and upgrade if applicable.

Smart ID Physical Access

Not affected

Uses OpenSSL 1.1.1 which is not vulnerable.

Recommendation is to check underlaying OS in your installation for OpenSSL version, and upgrade if applicable.

Smart ID Digital Access (previously named Hybrid Access Gateway – HAG)

Not affected

Uses OpenSSL 1.1.1 which is not vulnerable.

Recommendation is to check underlaying OS in your installation for OpenSSL version, and upgrade if applicable.

Smart ID Identity Manager/PRIME

Not affected

Uses OpenSSL 1.1.1 which is not vulnerable.

Recommendation is to check underlaying OS in your installation for OpenSSL version, and upgrade if applicable.

Smart ID Self-Service (Angular/SpringBoot-based)

Not affected

Uses OpenSSL 1.1.1 which is not vulnerable.

Recommendation is to check underlaying OS in your installation for OpenSSL version, and upgrade if applicable.

Smart ID Self-Service Legacy USSP (Wicket-based)

Not affected

Uses OpenSSL 1.1.1 which is not vulnerable.

Recommendation is to check underlaying OS in your installation for OpenSSL version, and upgrade if applicable.

Smart ID Messaging component - Hermod

Not affected

Uses OpenSSL 1.1.1 which is not vulnerable.

Recommendation is to check underlaying OS in your installation for OpenSSL version, and upgrade if applicable.

Nexus ID06 Service

Not affected

Uses OpenSSL 1.1.1 which is not vulnerable.

Nexus Go Cards

Not affected

Uses OpenSSL 1.1.1 which is not vulnerable.

Further information

Technical information about the vulnerability

In order to be impacted by this vulnerability the victim (client or server) needs a few conditions to be true:

  • A malicious certificate needs to be signed by a CA that the victim trusts

  • The victim needs to validate the malicious certificate or ignore a series of warnings from the browser

  • The victim needs to be running OpenSSL 3.0.x before 3.0.7

For a client to be affected by this vulnerability, they would have to visit a malicious site that presents a certificate containing an exploit payload. In addition, this malicious certificate would have to be signed by a trusted CA.

Servers with a vulnerable version of OpenSSL can be attacked if they support mutual authentication - a scenario where both client and a server provide a valid and signed X.509 certificate, and the client is able to present a certificate with an exploit payload to the server.

How should you handle this issue?

If you are managing services that run OpenSSL, you should patch vulnerable OpenSSL packages. On a Linux system you can determine if you have any processes dynamically loading OpenSSL with the lsof command. Here is an example of finding OpenSSL being used by NGINX:


root@55f64f421576:/# lsof | grep libssl.so.3 nginx 1294 root mem REG 254,1 925009 /usr/lib/x86_64-linux-gnu/libssl.so.3 (path dev=0,142)



Once the package maintainers for your Linux distro release OpenSSL 3.0.7 you can patch by updating your package sources and upgrading the libssl3 package. On Debian and Ubuntu this can be done with the apt-get upgrade command:

root@55f64f421576:/# apt-get --only-upgrade install libssl3

With that said, it is possible that you could be running a vulnerable version of OpenSSL that the lsof command cannot find because your process is statically compiled. It is important to update your statically compiled software that you are responsible for maintaining, and make sure that over the coming days you are updating your operating system and other installed software that might contain the vulnerable OpenSSL versions.


Nexus strongly recommends you to contact your other suppliers as well.



Copyright 2024 Technology Nexus Secured Business Solutions AB. All rights reserved.
Contact Nexus | https://www.nexusgroup.com | Disclaimer | Terms & Conditions