CVE-2021-4044 | Invalid handling of X509_verify_cert() internal errors in libssl

Internally libssl in OpenSSL calls X509_verify_cert() on the client side to verify a certificate supplied by a server. That function may return a negative return value to indicate an internal error (for example out of memory). Such a negative return value is mishandled by OpenSSL and will cause an IO function (such as SSL_connect() or SSL_do_handshake()) to not indicate success and a subsequent call to SSL_get_error() to return the value SSL_ERROR_WANT_RETRY_VERIFY. This return value is only supposed to be returned by OpenSSL if the application has previously called SSL_CTX_set_cert_verify_callback(). Since most applications do not do this the SSL_ERROR_WANT_RETRY_VERIFY return value from SSL_get_error() will be totally unexpected and applications may not behave correctly as a result. The exact behaviour will depend on the application but it could result in crashes, infinite loops or other similar incorrect responses. This issue is made more serious in combination with a separate bug in OpenSSL 3.0 that will cause X509_verify_cert() to indicate an internal error when processing a certificate chain. This will occur where a certificate does not include the Subject Alternative Name extension but where a Certificate Authority has enforced name constraints. This issue can occur even with valid chains. By combining the two issues an attacker could induce incorrect, application dependent behaviour. Fixed in OpenSSL 3.0.1 (Affected 3.0.0).

Published: 2021-12-14 Last update: 2024-11-21 Assigner: [email protected] Source: [email protected]

Conclusion & alert: CVE-2021-4044 is rated High Risk (68.9/100): CVSS High severity, with high exploitation likelihood (EPSS 33.28%, 97th percentile). Core evidence: EPSS ranks this CVE among the most likely to be exploited in the near term. EPSS rose +15.70% over the last day, indicating growing attacker interest. Mandatory action: High exploitation likelihood—assess exposure and prioritize remediation.

Risk is dynamic; we continuously reassess and refresh what is shown on this page as upstream context changes.

Exploit prediction scoring system (EPSS) score for CVE-2021-4044

EPSS lead: Daily EPSS estimates relative likelihood of exploitation; percentile ranks this CVE among scored vulnerabilities (higher = more severe relative rank).

# Date Old EPSS score New EPSS score Delta (New - Old)
1 2026-04-20 17.58% 33.28% +15.70%
2 2026-03-04 15.45% 17.58% +2.13%
3 2026-03-01 15.45%

Full EPSS history (59 records total)

Common vulnerability scoring system (CVSS) metrics for CVE-2021-4044

CVSS metrics for this CVE.

Base score Version Severity Vector Exploitability Impact Score source
7.5 3.1 HIGH
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H Click to expand
Attack vector (AV:N)
Could be attacked over the internet or any normal routed network—not just someone sitting at the machine.
Attack complexity (AC:L)
Once they can reach the bug, pulling it off is straightforward—no weird race conditions or rare setup.
Privileges required (PR:N)
No account or special rights needed—anonymous or random user is enough.
User interaction (UI:N)
Nobody has to click “OK” or open a trap file; it can work without a victim helping.
Scope (S:U)
Damage stays in the same “trust bubble” as the broken component—no big spill into unrelated systems.
Confidentiality (C:N)
Doesn’t really leak secrets in a meaningful way.
Integrity (I:N)
Data isn’t meaningfully altered or forged.
Availability (A:H)
Could take the service down hard or make it unusable for people who depend on it.
3.9 3.6 [email protected]
5.0 2.0 MEDIUM
AV:N/AC:L/Au:N/C:N/I:N/A:P Click to expand
Access vector (AV:N)
Can be exploited remotely over network reachability.
Access complexity (AC:L)
Exploitation conditions are straightforward and predictable.
Authentication (AU:N)
No authentication is required.
Confidentiality impact (C:N)
No confidentiality impact.
Integrity impact (I:N)
No integrity impact.
Availability impact (A:P)
Partial availability impact.
10.0 2.9 [email protected]

Weakness enumeration for CVE-2021-4044

GitHub Security Advisory for CVE-2021-4044

GHSA-mmjf-f5jw-w72q · Severity: high · Ecosystem: rust — Invalid handling of `X509_verify_cert()` internal errors in libssl

OS Trackers for CVE-2021-4044

vendor priority summary link
alpine high CVE-2021-4044: 2 source package rows (openssl, openssl3); 9 state rows across 7 repos (3.17-main, 3.18-main, 3.19-main, 3.20-main, 3.21-main, 3.22-main, edge-main); fixed 9, open 0. https://security.alpinelinux.org/vuln/CVE-2021-4044
debian unimportant CVE-2021-4044 unimportant priority: Debian including 1 source packages (openssl), 5 status rows across 5 suites (bookworm, bullseye, forky, sid, trixie): resolved 5. https://security-tracker.debian.org/tracker/CVE-2021-4044
redhat medium https://access.redhat.com/security/cve/CVE-2021-4044
ubuntu medium CVE-2021-4044 medium priority: Ubuntu including 4 source packages (edk2, nodejs, openssl, openssl1.0), 32 status rows across 8 suites (bionic, focal, hirsute, impish, jammy, trusty, upstream, xenial): not-affected 21, DNE 7, needs-triage 3, released 1. https://ubuntu.com/security/CVE-2021-4044

Affected software / configurations for CVE-2021-4044

Vendor Product Version Raw CPE
openssl openssl < 1.0.2 cpe:2.3:a:openssl:openssl:*:*:*:*:*:*:*:*
openssl openssl 1.1.0 cpe:2.3:a:openssl:openssl:1.1.0:*:*:*:*:*:*:*
openssl openssl 3.0.0 cpe:2.3:a:openssl:openssl:3.0.0:*:*:*:*:*:*:*
netapp cloud_backup cpe:2.3:a:netapp:cloud_backup:-:*:*:*:*:*:*:*
netapp e-series_performance_analyzer cpe:2.3:a:netapp:e-series_performance_analyzer:-:*:*:*:*:*:*:*
netapp ontap_select_deploy_administration_utility cpe:2.3:a:netapp:ontap_select_deploy_administration_utility:-:*:*:*:*:*:*:*
netapp snapcenter cpe:2.3:a:netapp:snapcenter:-:*:*:*:*:*:*:*
netapp a250_firmware cpe:2.3:o:netapp:a250_firmware:-:*:*:*:*:*:*:*
netapp 500f_firmware cpe:2.3:o:netapp:500f_firmware:-:*:*:*:*:*:*:*
netapp h500s_firmware cpe:2.3:o:netapp:h500s_firmware:-:*:*:*:*:*:*:*
netapp h700s_firmware cpe:2.3:o:netapp:h700s_firmware:-:*:*:*:*:*:*:*
netapp h300e_firmware cpe:2.3:o:netapp:h300e_firmware:-:*:*:*:*:*:*:*
netapp h500e_firmware cpe:2.3:o:netapp:h500e_firmware:-:*:*:*:*:*:*:*
netapp h700e_firmware cpe:2.3:o:netapp:h700e_firmware:-:*:*:*:*:*:*:*
netapp h410s_firmware cpe:2.3:o:netapp:h410s_firmware:-:*:*:*:*:*:*:*
netapp h410c_firmware cpe:2.3:o:netapp:h410c_firmware:-:*:*:*:*:*:*:*
netapp h300s_firmware cpe:2.3:o:netapp:h300s_firmware:-:*:*:*:*:*:*:*
nodejs node.js >= 17.0.0, < 17.3.0 cpe:2.3:a:nodejs:node.js:*:*:*:*:-:*:*:*

References for CVE-2021-4044

cvelogic Threat Intelligence