Skip to main content
← All vulnerabilities
CVE-2023-0286GHSA-X4QR-2FVF-3MR5PYSEC-2026-800RUSTSEC-2023-0006

X.400 address type confusion in X.509 GeneralName

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 3.0.8, 1.1.1t, 1.0.2zg, 39.0.1, 111.25.0, and 1 more
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: none
  • Automatable: no
  • Technical impact: partial

Summary

There is a type confusion vulnerability relating to X.400 address processing inside an X.509 GeneralName. X.400 addresses were parsed as an ASN1_STRING but the public structure definition for GENERAL_NAME incorrectly specified the type of the x400Address 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 (i.e. the application sets the X509_V_FLAG_CRL_CHECK flag), this vulnerability may allow an attacker to pass arbitrary pointers to a memcmp call, enabling them to read memory contents or enact a denial of service. In most cases, the attack requires the attacker to provide both the certificate chain and CRL, neither of which need to have a valid signature. If the attacker only controls one of these inputs, the other input must already contain an X.400 address as a CRL distribution point, which is uncommon. As such, this vulnerability is most likely to only affect applications which have implemented their own functionality for retrieving CRLs over a network.

Timeline

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: none · Automatable: no · Technical impact: partial

  3. Record last updated
  4. EPSS reached 10%

    FIRST estimates at least a 10% chance of exploitation in the next 30 days

Affected versions

  • OpenSSL OpenSSL

    From 3.0.0 · fixed in 3.0.8; From 1.1.1 · fixed in 1.1.1t; From 1.0.2 · fixed in 1.0.2zg

  • cryptographyPyPI

    From 0.8.1 · fixed in 39.0.1

  • openssl-srccrates.io

    fixed in 111.25.0

  • openssl-srccrates.io

    From 300.0.0 · fixed in 300.0.12

  • openssl-srccrates.io

    From 0.0.0-0 · fixed in 111.25.0; From 300.0.0 · fixed in 300.0.12

References 7

openssl.org

git.openssl.org

ftp.openbsd.org

security.gentoo.org