Skip to main content
Public proof of conceptFix available

CVE-2021-3450

A public proof of concept exists; no exploitation attested.

  • Published2021-03-25
  • WeaknessCWE-295

Am I affected?

With a domain, we read the version its public headers and pages expose. A distribution build can carry the fix under an older number.

Description

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).

Timeline

dates in UTC
  1. 2021-03-2515:15CVE publishedNVD
  2. 2026-10-2319:23First public proof of conceptPoC-in-GitHub
  3. 2026-10-2319:23EPSS crossed 10 %FIRST EPSS

Observed activity

isMalicious corpus · updated 2026-10-23 21:37 UTC
Indicators tagged with this CVE, per day0 indicators over 7 days
Block these indicators
  • Firewall list (EDL, text): https://api.ismalicious.com/edl/cve/CVE-2021-3450?format=txt
  • CSV export: https://api.ismalicious.com/edl/cve/CVE-2021-3450?format=csv
  • TAXII collection of exploited CVEs
  • The EDL and CSV take an API key on the Pro plan.

Versions per branch

NVD · OSV
Tenable nessus network monitor
BranchAffectedFixed in
5.11= 5.11.0no fix published
5.11= 5.11.1no fix published
5.12= 5.12.0no fix published
5.12= 5.12.1no fix published
5.13= 5.13.0no fix published
Node.js
BranchAffectedFixed in
15.x≥ 15.0.0, < 15.14.015.14.0
14.x≥ 14.0.0, < 14.16.114.16.1
12.x≥ 12.0.0, < 12.22.112.22.1
10.x≥ 10.0.0, < 10.24.110.24.1
Windriver linux
BranchAffectedFixed in
—all versionsno fix published
17.0= 17.0no fix published
18.0= 18.0no fix published
19.0= 19.0no fix published

31 more products in the sources.

as publishedRanges as NVD and OSV publish them; a distribution’s build can be fixed under an older number.

Fix

Advisories and patches

Detection

read 2026-10-23 19:23 UTC
Nuclei template
none so far
ProjectDiscovery
Exploit-DB
no entry
Exploit-DB
Proof-of-concept repositories
1 repository, unverifieddedellix/MUT-BC-SS-01
PoC-in-GitHub

Sources

  • CISA-ADPSSVC decisionnone2026-10-08
  • OpenCVESSVC decisionnone—
  • NVDCVSS 3.17.4read 2026-10-23
  • NVDCVSS 2.05.8read 2026-10-23
  • NVDweakness (CWE)CWE-295read 2026-10-23
  • FIRST EPSSEPSS score18.3 %read 2026-10-23
  • PoC-in-GitHubproof of concept1read 2026-10-23
  • OSVaffected packages—

Technical details

CVSS v3 Vector
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N
Published
2021-03-25
Last Modified
2026-10-08
NVD status
Modified

Frequently asked questions

What is CVE-2021-3450?

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).

Is CVE-2021-3450 actively exploited?

Active exploitation of CVE-2021-3450 has not been confirmed. Its EPSS score was 18.3% on 2026-10-23, the estimated probability of exploitation in the next 30 days.

What is the CVSS score for CVE-2021-3450?

CVE-2021-3450 has a CVSS v3 base score of 7.4 (HIGH severity), with vector string CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N.

Hear about the next vulnerability in your software

Surveillance reads the versions in your stack — a domain, a lockfile or a list — checks each CVE against the ranges its sources publish, and alerts you when one you run is exploited or enters CISA KEV. A version it cannot read stays « version not verified ».

No credit card required · No monthly cap on website lookups · 250 API requests/month