CVE-2023-0286: X.400 address type confusion in X.509 GeneralName
A type confusion vulnerability was found in OpenSSL when OpenSSL X.400 addresses processing inside an X.509 GeneralName. When CRL checking is enabled (for example, the application sets the X509VFLAGCRLCHECK flag), this vulnerability may allow an attacker to pass arbitrary pointers to a memcmp call, enabling them to read memory contents or cause a denial of service. In most cases, the attack requires the attacker to provide both the certificate chain and CRL, of which neither needs 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. In this case, this vulnerability is likely only to affect applications that have implemented their own functionality for retrieving CRLs over a network.
Other sources
pyca/cryptography's wheels include a statically linked copy of OpenSSL. The versions of OpenSSL included in cryptography 0.8.1-39.0.0 are vulnerable to a security issue. More details about the vulnerabilities themselves can be found in https://www.openssl.org/news/secadv/20221213.txt and https://www.openssl.org/news/secadv/20230207.txt.
If you are building cryptography source ("sdist") then you are responsible for upgrading your copy of OpenSSL. Only users installing from wheels built by the cryptography project (i.e., those distributed on PyPI) need to update their cryptography versions.
— GitHub
There is a type confusion vulnerability relating to X.400 address processing inside an X.509 GeneralName. X.400 addresses were parsed as an ASN1STRING but the public structure definition for GENERALNAME incorrectly specified the type of the x400Address field as ASN1TYPE. This field is subsequently interpreted by the OpenSSL function GENERALNAMEcmp as an ASN1TYPE rather than an ASN1STRING.
When CRL checking is enabled (i.e. the application sets the X509VFLAGCRLCHECK 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.
— NVD
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
redhat/jbcs-httpd24-opensslto a version that resolves this vulnerability.Fixed in 1:1.1.1k-14.el8 - Upgrade
Upgrade
redhat/jbcs-httpd24-opensslto a version that resolves this vulnerability.Fixed in 1:1.1.1k-14.el7 - Upgrade
Upgrade
redhat/opensslto a version that resolves this vulnerability.Fixed in 0:1.0.1e-61.el6_10 - Upgrade
Upgrade
redhat/opensslto a version that resolves this vulnerability.Fixed in 1:1.0.2k-26.el7_9 - Upgrade
Upgrade
redhat/edk2to a version that resolves this vulnerability.Fixed in 0:20220126gitbb1bba3d77-4.el8 - Upgrade
Upgrade
redhat/opensslto a version that resolves this vulnerability.Fixed in 1:1.1.1k-9.el8_7 - Upgrade
Upgrade
redhat/opensslto a version that resolves this vulnerability.Fixed in 1:1.1.1c-6.el8_1 - Upgrade
Upgrade
redhat/edk2to a version that resolves this vulnerability.Fixed in 0:20190829git37eef91017ad-9.el8_2.2 - Upgrade
Upgrade
redhat/opensslto a version that resolves this vulnerability.Fixed in 1:1.1.1c-21.el8_2 - Upgrade
Upgrade
redhat/edk2to a version that resolves this vulnerability.Fixed in 0:20200602gitca407c7246bf-4.el8_4.3 - Upgrade
Upgrade
redhat/opensslto a version that resolves this vulnerability.Fixed in 1:1.1.1g-18.el8_4 - Upgrade
Upgrade
redhat/edk2to a version that resolves this vulnerability.Fixed in 0:20220126gitbb1bba3d77-2.el8_6.1 - Upgrade
Upgrade
redhat/opensslto a version that resolves this vulnerability.Fixed in 1:1.1.1k-8.el8_6 - Upgrade
Upgrade
redhat/opensslto a version that resolves this vulnerability.Fixed in 1:3.0.1-47.el9_1 - Upgrade
Upgrade
redhat/edk2to a version that resolves this vulnerability.Fixed in 0:20221207gitfff6d81270b5-9.el9_2 - Upgrade
Upgrade
redhat/opensslto a version that resolves this vulnerability.Fixed in 1:3.0.1-46.el9_0 - Upgrade
Upgrade
redhat/edk2to a version that resolves this vulnerability.Fixed in 0:20220126gitbb1bba3d77-3.el9_0.2 - Upgrade
Upgrade
redhat/jws5-tomcat-nativeto a version that resolves this vulnerability.Fixed in 0:1.2.31-14.redhat_14.el7 - Upgrade
Upgrade
redhat/jws5-tomcat-nativeto a version that resolves this vulnerability.Fixed in 0:1.2.31-14.redhat_14.el8 - Upgrade
Upgrade
redhat/jws5-tomcat-nativeto a version that resolves this vulnerability.Fixed in 0:1.2.31-14.redhat_14.el9 - Upgrade
Upgrade
rust/openssl-srcto a version that resolves this vulnerability.Fixed in 300.0.12 - Upgrade
Upgrade
rust/openssl-srcto a version that resolves this vulnerability.Fixed in 111.25.0 - Upgrade
Upgrade
pip/cryptographyto a version that resolves this vulnerability.Fixed in 39.0.1 - Upgrade
Upgrade
debian/opensslto a version that resolves this vulnerability.Fixed in 1.1.1w-0+deb11u1Fixed in 1.1.1n-0+deb11u5Fixed in 3.0.14-1~deb12u1Fixed in 3.0.14-1~deb12u2Fixed in 3.3.2-1 - Upgrade
Upgrade
F5 BIG-IP and BIG-IQ Centralized Managementto a version that resolves this vulnerability.Fixed in 17.1.1 - Upgrade
Upgrade
F5 BIG-IP and BIG-IQ Centralized Managementto a version that resolves this vulnerability.Fixed in 16.1.4 - Upgrade
Upgrade
F5 BIG-IP and BIG-IQ Centralized Managementto a version that resolves this vulnerability.Fixed in 15.1.10 - Upgrade
Upgrade
cryptography/OpenSSLto a version that resolves this vulnerability.Fixed in 0.8.1-39.0.0 - Operational
If you are building cryptography source (sdist), upgrade your copy of OpenSSL used by the build.
- Operational
If your application performs CRL checking with the X509_V_FLAG_CRL_CHECK flag enabled, ensure input controlling certificate chain and CRL is protected; this vulnerability may allow an attacker to pass arbitrary pointers to a memcmp call, enabling memory disclosure or denial of service.
Event History
Parent advisories
This vulnerability appears in the following advisories.
Frequently Asked Questions
What is the vulnerability ID of this OpenSSL vulnerability?
The vulnerability ID is CVE-2023-0286.
What is the severity rating of CVE-2023-0286?
CVE-2023-0286 has a severity rating of 8.2, which is considered high.
Which software versions are affected by CVE-2023-0286?
CVE-2023-0286 affects multiple versions of OpenSSL, ranging from 1.0.2 to 3.0.8.
What is the impact of CVE-2023-0286?
CVE-2023-0286 can lead to a denial of service (DoS) due to a type confusion error related to X.400 address processing.
Where can I find more information about CVE-2023-0286 and its patch?
You can find more information about CVE-2023-0286 and its patch at the provided references.