32.Lock Code Circular

On February 7, 2023 OpenSSL released a security advisory regarding several security vulnerabilities that were recently discovered and fixed, including a high-severity address type confusion bug that could be exploited by attackers to read memory contents or enact a denial of service (DoS).

OpenSSL is a software library for applications that contains an open-source implementation of the SSL and TLS protocols and provides secure communications over computer networks. It is widely used by Internet servers, including the majority of HTTPS websites, making it critical that users are aware of the recent OpenSSL flaws that have been discovered, how to determine if they are at risk, and how to protect against them. That’s why we’re providing you with the information you need to know to understand and defend against the OpenSSL vulnerabilities discovered this week.

The Discovery & The Impact

Among the vulnerabilities recently found in OpenSSL, the most notable is a high-severity type confusion vulnerability relating to X.400 address processing inside an X.509 GeneralName (CVE-2023-0286). It was discovered that bX.400 addresses were parsed as an ASN1_STRING, but the public structure definition for GENERAL_NAME incorrectly specified the type of the x400 Address field as ASN1_TYPE. This field is subsequently interpreted by the OpenSSL function GENERAL_NAME_cmp as an ASN1_TYPE rather than an ASN1_STRING. When CRL checking is enabled, this issue may allow an attacker to pass arbitrary pointers to a memcmp call, enabling them to read memory contents or carry out a denial of service attack. It should be noted that this vulnerability is most likely to only affect applications which have implemented their own functionality for retrieving CRLs over a network. 

Am I at Risk & What Should I Do to Secure My Systems Against This Bug?

OpenSSL versions 3.0, 1.1.1 and 1.0.2 are vulnerable to this urgent issue. If you are a OpenSSL 3.0 user, you should upgrade to OpenSSL 3.0.8. If you are a OpenSSL 1.1.1 user, should upgrade to OpenSSL 1.1.1t. If you are a OpenSSL 1.0.2 user, you should should upgrade to OpenSSL 1.0.2zg (premium support customers only).

What Other Issues Were Found in OpenSSL?

Openssl LogoIn addition to the dangerous address type confusion flaw discussed previously, other vulnerabilities found and fixed in OpenSSL this week include:

  • A timing based side channel exists in the OpenSSL RSA Decryption implementation which could be sufficient to recover a plaintext across a network in a Bleichenbacher style attack (CVE-2022-4304). OpenSSL 3.0, 1.1.1 and 1.0.2 are vulnerable to this issue. OpenSSL 3.0 users should upgrade to OpenSSL 3.0.8. OpenSSL 1.1.1 users should upgrade to OpenSSL 1.1.1t. OpenSSL 1.0.2 users should upgrade to OpenSSL 1.0.2zg (premium support customers only).
  • A read buffer overrun can be triggered in X.509 certificate verification, specifically in name constraint checking (CVE-2022-4203). This flaw might result in a denial of service attack and, in theory, it could also result in the disclosure of private memory contents. OpenSSL versions 3.0.0 to 3.0.7 are vulnerable to this issue. OpenSSL 3.0 users should upgrade to OpenSSL 3.0.8. OpenSSL 1.1.1 and 1.0.2 are not affected by this issue.
  • A use-after-free following BIO_new_NDEF (CVE-2023-0215) could result in a crash. OpenSSL 3.0, 1.1.1 and 1.0.2 are vulnerable to this issue. OpenSSL 3.0 users should upgrade to OpenSSL 3.0.8. OpenSSL 1.1.1 users should upgrade to OpenSSL 1.1.1t. OpenSSL 1.0.2 users should upgrade to OpenSSL 1.0.2zg (premium support customers only).
  • Double free after calling PEM_read_bio_ex (CVE-2022-4450) could lead to a crash. OpenSSL 3.0 and 1.1.1 are vulnerable to this issue. OpenSSL 3.0 users should upgrade to OpenSSL 3.0.8. OpenSSL 1.1.1 users should upgrade to OpenSSL 1.1.1t. OpenSSL 1.0.2 is not affected by this issue.
  • An invalid pointer dereference in the d2i_PKCS7 functions (CVE-2023-0216) could lead to a denial of service attack. OpenSSL versions 3.0.0 to 3.0.7 are vulnerable to this issue. OpenSSL 3.0 users should upgrade to OpenSSL 3.0.8. OpenSSL 1.1.1 and 1.0.2 are not affected by this issue.
  • An invalid pointer dereference on read can be triggered when an application tries to check a malformed DSA public key by the EVP_PKEY_public_check() function (CVE-2023-0217). This will most likely lead to a crash. OpenSSL versions 3.0.0 to 3.0.7 are vulnerable to this issue. OpenSSL 3.0 users should upgrade to OpenSSL 3.0.8. OpenSSL 1.1.1 and 1.0.2 are not affected by this issue.
  • A NULL dereference during PKCS7 data verification (CVE-2023-0401) could lead to a crash. OpenSSL versions 3.0.0 to 3.0.7 are vulnerable to this issue. OpenSSL 3.0 users should upgrade to OpenSSL 3.0.8.
  • OpenSSL 1.1.1 and 1.0.2 are not affected by this issue.

Final Thoughts on the February 7th OpenSSL Advisory

Vulnerabilities are inevitable, even in open-source software and applications like OpenSSL, that are generally regarded as highly secure. As a result, it is critical to stay up-do-date on the latest security advisories issued by your Linux distribution. Subscribing to our Linux Advisory Watch newsletter and customizing your LinuxSecurity advisories for the distro(s) you use is an excellent way to do this. 

If you are an OpenSSL user who is impacted by these vulnerabilities, we strongly recommend that you upgrade immediately to prevent potential downtime and attacks leading to compromise.