CVE-2021-3450
High · 7.4CVSS
7.4
EPSS
18.3%
Published
Mar 25, 2021
CISA due date
—
The record
The X509_V_FLAG_X509_STRICT flag enables additional security checks of the certificates present in a certificate chain. It is not set by default. Starting from OpenSSL version 1.1.1h a check to disallow certificates in the chain that have explicitly encoded elliptic curve parameters was added as an additional strict check. An error in the implementation of this check meant that the result of a previous check to confirm that certificates in the chain are valid CA certificates was overwritten. This effectively bypasses the check that non-CA certificates must not be able to issue other certificates. If a "purpose" has been configured then there is a subsequent opportunity for checks that the certificate is a valid CA. All of the named "purpose" values implemented in libcrypto perform this check. Therefore, where a purpose is set the certificate chain will still be rejected even when the strict flag has been used. A purpose is set by default in libssl client and server certificate verification routines, but it can be overridden or removed by an application. In order to be affected, an application must explicitly set the X509_V_FLAG_X509_STRICT verification flag and either not set a purpose for the certificate verification or, in the case of TLS client or server applications, override the default purpose. OpenSSL versions 1.1.1h and newer are affected by this issue. Users of these versions should upgrade to OpenSSL 1.1.1k. OpenSSL 1.0.2 is not impacted by this issue. Fixed in OpenSSL 1.1.1k (Affected 1.1.1h-1.1.1j).
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| crates.io | openssl-src | 111.11.0 | 111.15.0 |
| Alpine:v3.10 | openssl | 0 | 1.1.1k-r0 |
| Alpine:v3.11 | openssl | 0 | 1.1.1k-r0 |
| Alpine:v3.12 | openssl | 0 | 1.1.1k-r0 |
| Alpine:v3.13 | openssl | 0 | 1.1.1k-r0 |
| Alpine:v3.14 | openssl | 0 | 1.1.1k-r0 |
| Alpine:v3.15 | openssl | 0 | 1.1.1k-r0 |
| Alpine:v3.15 | openssl3 | 0 | 1.1.1k-r0 |
| Alpine:v3.16 | openssl | 0 | 1.1.1k-r0 |
| Alpine:v3.16 | openssl3 | 0 | 1.1.1k-r0 |
| Alpine:v3.17 | openssl | 0 | 1.1.1k-r0 |
| Alpine:v3.18 | openssl | 0 | 1.1.1k-r0 |
| Alpine:v3.19 | openssl | 0 | 1.1.1k-r0 |
| Alpine:v3.20 | openssl | 0 | 1.1.1k-r0 |
| Alpine:v3.21 | openssl | 0 | 1.1.1k-r0 |
| Alpine:v3.22 | openssl | 0 | 1.1.1k-r0 |
| Alpine:v3.9 | openssl | 0 | 1.1.1k-r0 |
| Bitnami | node | 10.0.0 | 10.24.1 |
| Bitnami | node-min | 10.0.0 | 10.24.1 |
| Debian:11 | openssl | 0 | 1.1.1k-1 |
| Debian:12 | openssl | 0 | 1.1.1k-1 |
| Debian:13 | openssl | 0 | 1.1.1k-1 |
| Mageia:8 | openssl | 0 | 1.1.1k-1.mga8 |
| Red Hat:enterprise_linux:8::baseos | openssl | 0 | 1:1.1.1g-15.el8_3 |
| Red Hat:enterprise_linux:8::baseos | openssl-debuginfo | 0 | 1:1.1.1g-15.el8_3 |
| Red Hat:enterprise_linux:8::baseos | openssl-debugsource | 0 | 1:1.1.1g-15.el8_3 |
| Red Hat:enterprise_linux:8::baseos | openssl-devel | 0 | 1:1.1.1g-15.el8_3 |
| Red Hat:enterprise_linux:8::baseos | openssl-libs | 0 | 1:1.1.1g-15.el8_3 |
| Red Hat:enterprise_linux:8::baseos | openssl-libs-debuginfo | 0 | 1:1.1.1g-15.el8_3 |
| Red Hat:enterprise_linux:8::baseos | openssl-perl | 0 | 1:1.1.1g-15.el8_3 |
| Red Hat:jboss_core_services:1::el7 | jbcs-httpd24-httpd | 0 | 0:2.4.37-70.jbcs.el7 |
| Red Hat:jboss_core_services:1::el7 | jbcs-httpd24-httpd-debuginfo | 0 | 0:2.4.37-70.jbcs.el7 |
| Red Hat:jboss_core_services:1::el7 | jbcs-httpd24-httpd-devel | 0 | 0:2.4.37-70.jbcs.el7 |
| Red Hat:jboss_core_services:1::el7 | jbcs-httpd24-httpd-manual | 0 | 0:2.4.37-70.jbcs.el7 |
| Red Hat:jboss_core_services:1::el7 | jbcs-httpd24-httpd-selinux | 0 | 0:2.4.37-70.jbcs.el7 |
| Red Hat:jboss_core_services:1::el7 | jbcs-httpd24-httpd-tools | 0 | 0:2.4.37-70.jbcs.el7 |
| Red Hat:jboss_core_services:1::el7 | jbcs-httpd24-mod_cluster-native | 0 | 0:1.3.14-20.Final_redhat_2.jbcs.el7 |
| Red Hat:jboss_core_services:1::el7 | jbcs-httpd24-mod_cluster-native-debuginfo | 0 | 0:1.3.14-20.Final_redhat_2.jbcs.el7 |
| Red Hat:jboss_core_services:1::el7 | jbcs-httpd24-mod_http2 | 0 | 0:1.15.7-14.jbcs.el7 |
| Red Hat:jboss_core_services:1::el7 | jbcs-httpd24-mod_http2-debuginfo | 0 | 0:1.15.7-14.jbcs.el7 |
| Red Hat:jboss_core_services:1::el7 | jbcs-httpd24-mod_jk | 0 | 0:1.2.48-13.redhat_1.jbcs.el7 |
| Red Hat:jboss_core_services:1::el7 | jbcs-httpd24-mod_jk-ap24 | 0 | 0:1.2.48-13.redhat_1.jbcs.el7 |
| Red Hat:jboss_core_services:1::el7 | jbcs-httpd24-mod_jk-debuginfo | 0 | 0:1.2.48-13.redhat_1.jbcs.el7 |
| Red Hat:jboss_core_services:1::el7 | jbcs-httpd24-mod_jk-manual | 0 | 0:1.2.48-13.redhat_1.jbcs.el7 |
| Red Hat:jboss_core_services:1::el7 | jbcs-httpd24-mod_ldap | 0 | 0:2.4.37-70.jbcs.el7 |
| Red Hat:jboss_core_services:1::el7 | jbcs-httpd24-mod_md | 0 | 1:2.0.8-33.jbcs.el7 |
| Red Hat:jboss_core_services:1::el7 | jbcs-httpd24-mod_md-debuginfo | 0 | 1:2.0.8-33.jbcs.el7 |
| Red Hat:jboss_core_services:1::el7 | jbcs-httpd24-mod_proxy_html | 0 | 1:2.4.37-70.jbcs.el7 |
| Red Hat:jboss_core_services:1::el7 | jbcs-httpd24-mod_security | 0 | 0:2.9.2-60.GA.jbcs.el7 |
| Red Hat:jboss_core_services:1::el7 | jbcs-httpd24-mod_security-debuginfo | 0 | 0:2.9.2-60.GA.jbcs.el7 |
| Red Hat:jboss_core_services:1::el7 | jbcs-httpd24-mod_session | 0 | 0:2.4.37-70.jbcs.el7 |
| Red Hat:jboss_core_services:1::el7 | jbcs-httpd24-mod_ssl | 0 | 1:2.4.37-70.jbcs.el7 |
| Red Hat:jboss_core_services:1::el7 | jbcs-httpd24-nghttp2 | 0 | 0:1.39.2-37.jbcs.el7 |
| Red Hat:jboss_core_services:1::el7 | jbcs-httpd24-nghttp2-debuginfo | 0 | 0:1.39.2-37.jbcs.el7 |
| Red Hat:jboss_core_services:1::el7 | jbcs-httpd24-nghttp2-devel | 0 | 0:1.39.2-37.jbcs.el7 |
| Red Hat:jboss_core_services:1::el7 | jbcs-httpd24-openssl | 0 | 1:1.1.1g-6.jbcs.el7 |
| Red Hat:jboss_core_services:1::el7 | jbcs-httpd24-openssl-chil | 0 | 0:1.0.0-5.jbcs.el7 |
| Red Hat:jboss_core_services:1::el7 | jbcs-httpd24-openssl-chil-debuginfo | 0 | 0:1.0.0-5.jbcs.el7 |
| Red Hat:jboss_core_services:1::el7 | jbcs-httpd24-openssl-debuginfo | 0 | 1:1.1.1g-6.jbcs.el7 |
| Red Hat:jboss_core_services:1::el7 | jbcs-httpd24-openssl-devel | 0 | 1:1.1.1g-6.jbcs.el7 |
| Red Hat:jboss_core_services:1::el7 | jbcs-httpd24-openssl-libs | 0 | 1:1.1.1g-6.jbcs.el7 |
| Red Hat:jboss_core_services:1::el7 | jbcs-httpd24-openssl-perl | 0 | 1:1.1.1g-6.jbcs.el7 |
| Red Hat:jboss_core_services:1::el7 | jbcs-httpd24-openssl-pkcs11 | 0 | 0:0.4.10-20.jbcs.el7 |
| Red Hat:jboss_core_services:1::el7 | jbcs-httpd24-openssl-pkcs11-debuginfo | 0 | 0:0.4.10-20.jbcs.el7 |
| Red Hat:jboss_core_services:1::el7 | jbcs-httpd24-openssl-static | 0 | 1:1.1.1g-6.jbcs.el7 |
| Red Hat:jboss_enterprise_web_server:3.1::el7 | tomcat-native | 0 | 0:1.2.23-24.redhat_24.ep7.el7 |
| Red Hat:jboss_enterprise_web_server:3.1::el7 | tomcat-native-debuginfo | 0 | 0:1.2.23-24.redhat_24.ep7.el7 |
| Red Hat:jboss_enterprise_web_server:5.4::el7 | jws5-tomcat-native | 0 | 0:1.2.25-4.redhat_4.el7jws |
| Red Hat:jboss_enterprise_web_server:5.4::el7 | jws5-tomcat-native-debuginfo | 0 | 0:1.2.25-4.redhat_4.el7jws |
| Red Hat:jboss_enterprise_web_server:5.4::el8 | jws5-tomcat-native | 0 | 0:1.2.25-4.redhat_4.el8jws |
| Red Hat:jboss_enterprise_web_server:5.4::el8 | jws5-tomcat-native-debuginfo | 0 | 0:1.2.25-4.redhat_4.el8jws |
| Red Hat:rhev_hypervisor:4.4::el8 | redhat-virtualization-host | 0 | 0:4.4.5-20210330.0.el8_3 |
| Red Hat:rhev_hypervisor:4.4::el8 | redhat-virtualization-host-image-update | 0 | 0:4.4.5-20210330.0.el8_3 |
| Rocky Linux:8 | openssl | 0 | 1:1.1.1g-15.el8_3 |
| SUSE:Enterprise Storage 6 | nodejs10 | 0 | 10.24.1-1.36.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP1-ESPOS | nodejs10 | 0 | 10.24.1-1.36.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP1-LTSS | nodejs10 | 0 | 10.24.1-1.36.1 |
| SUSE:Linux Enterprise High Performance Computing 15-ESPOS | nodejs10 | 0 | 10.24.1-1.36.1 |
| SUSE:Linux Enterprise High Performance Computing 15-LTSS | nodejs10 | 0 | 10.24.1-1.36.1 |
| SUSE:Linux Enterprise Module for Web and Scripting 12 | nodejs10 | 0 | 10.24.1-1.39.1 |
| SUSE:Linux Enterprise Module for Web and Scripting 12 | nodejs12 | 0 | 12.22.2-1.32.1 |
| SUSE:Linux Enterprise Module for Web and Scripting 15 SP2 | nodejs10 | 0 | 10.24.1-1.36.1 |
| SUSE:Linux Enterprise Module for Web and Scripting 15 SP2 | nodejs12 | 0 | 12.22.2-4.16.1 |
| SUSE:Linux Enterprise Module for Web and Scripting 15 SP3 | nodejs12 | 0 | 12.22.2-4.16.1 |
| SUSE:Linux Enterprise Server 15 SP1-BCL | nodejs10 | 0 | 10.24.1-1.36.1 |
| SUSE:Linux Enterprise Server 15 SP1-LTSS | nodejs10 | 0 | 10.24.1-1.36.1 |
| SUSE:Linux Enterprise Server 15-LTSS | nodejs10 | 0 | 10.24.1-1.36.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 | nodejs10 | 0 | 10.24.1-1.36.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP1 | nodejs10 | 0 | 10.24.1-1.36.1 |
| SUSE:Manager Proxy 4.0 | nodejs10 | 0 | 10.24.1-1.36.1 |
| SUSE:Manager Retail Branch Server 4.0 | nodejs10 | 0 | 10.24.1-1.36.1 |
| SUSE:Manager Server 4.0 | nodejs10 | 0 | 10.24.1-1.36.1 |
| Ubuntu:16.04:LTS | openssl | 0 | 1.0.2g-1ubuntu4.19 |
| Ubuntu:18.04:LTS | openssl | 0 | 1.1.1-1ubuntu2.1~18.04.8 |
| Ubuntu:18.04:LTS | openssl1.0 | 0 | 1.0.2n-1ubuntu5.6 |
| Ubuntu:20.04:LTS | openssl | 0 | 1.1.1f-1ubuntu2.2 |
| cargo | openssl-src | 111.11.0 | 111.15.0 |
| conan | openssl | 1.1.1h | 1.1.1k |
| openSUSE:Leap 15.2 | nodejs10 | 0 | 10.24.1-lp152.2.15.1 |
| openSUSE:Leap 15.2 | nodejs12 | 0 | 12.22.2-lp152.3.15.1 |
| openSUSE:Leap 15.3 | nodejs10 | 0 | 10.24.1-1.36.1 |
| openSUSE:Leap 15.3 | nodejs12 | 0 | 12.22.2-4.16.1 |
| openSUSE:Tumbleweed | openssl-1_1 | 0 | 1.1.1l-1.2 |
Related vulnerabilities
- CVE-2022-3786 A buffer overrun can be triggered in X.509 certificate verification, specifically in name… Also affects openssl-src
- CVE-2022-3602 A buffer overrun can be triggered in X.509 certificate verification, specifically in name… Also affects openssl-src
- CVE-2022-0778 The BN_mod_sqrt() function, which computes a modular square root, contains a bug that can… Also affects openssl-src
- CVE-2021-3712 ASN.1 strings are represented internally within OpenSSL as an ASN1_STRING structure which… Also affects openssl-src
- CVE-2021-3449 An OpenSSL TLS server may crash if sent a maliciously crafted renegotiation ClientHello… Also affects openssl-src
- CVE-2021-23840 Calls to EVP_CipherUpdate, EVP_EncryptUpdate and EVP_DecryptUpdate may overflow the… Also affects openssl-src
- CVE-2020-1967 Server or client applications that call the SSL_check_chain() function during or after a… Also affects openssl-src
- CVE-2020-1971 The X.509 GeneralName type is a generic type for representing different types of names. Also affects openssl