Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessIdentify app using opensslextra X509_verify_cert()
-
DeliveryBuild chain of >100 untrusted intermediates
-
ExploitPresent chain to verifier
-
ExecutionPath depth exhausted before trust anchor
-
PersistAttacker certificate accepted as trusted
-
ImpactImpersonate peer / bypass authentication
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A07:2025 - Authentication Failures
ASVS 5.0
V12 - Secure Communication Certificate validation
|
| Exploitation Conditions | Exploitation requires all of the following concrete prerequisites: the wolfSSL build must be compiled with --enable-opensslextra (the OpenSSL compatibility layer), the application must call X509_verify_cert()/wolfSSL_X509_verify_cert() for manual or deferred verification rather than relying on the native TLS handshake, the application must pass caller-supplied untrusted intermediate certificates into that verification, and the attacker must supply a certificate chain deeper than the verifier's maximum path depth (default 100) that never reaches a configured trust anchor. Limiting factors that reduce real-world risk: native wolfSSL TLS/DTLS and the default WOLFSSL_VERIFY_PEER handshake are explicitly not affected, so the standard TLS use case is safe; the bug only manifests in the non-default opensslextra manual-verification deployment mode; and the attacker must control or inject an oversized intermediate chain. Per CVSS PR:N/UI:N, no authentication or user interaction is required once an application is in the affected configuration. |
| Impact | The CVSS 4.0 vector (AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:H/VA:N) scores 8.2 (High): network-reachable, no privileges, no user interaction, but with an explicit Attack Requirement (AT:P) and impact limited to integrity (VI:H) - there is no direct confidentiality or availability impact in the base metrics. The AT:P flag and the description align well: exploitation is gated behind a specific, non-default usage pattern (opensslextra compat build + manual/deferred verification via X509_verify_cert() with caller-supplied untrusted intermediates + an attacker chain deeper than 100), which meaningfully narrows the affected population versus the raw 8.2 score. No EPSS score was provided in the input, it is not in CISA KEV, and no POC was supplied, so this is not currently evidence of active or widespread exploitation. The realistic priority is high for the specific subset of deployments matching the affected configuration (where it is vendor-described as critical) and low for everyone else, including all native-TLS users. Note one conflict to verify: base metrics set VC:N, yet a successful certificate-acceptance bypass can enable downstream MITM that does affect confidentiality of the protected channel - the base score scopes only the direct integrity impact, so secondary confidentiality risk should be assessed in context. |
| Exploit ScenarioDerived | An attacker who can present a certificate chain to a vulnerable application (for example a malicious TLS server or a service feeding certificates into an app that defers verification) crafts a chain of more than 100 untrusted intermediates terminating in an attacker-controlled leaf and no legitimate trust anchor. The application calls X509_verify_cert() with these caller-supplied intermediates, path building exhausts its depth budget before reaching any trusted root, and the function returns success, causing the attacker certificate to be accepted as trusted. No public exploit is identified at time of analysis, and per the CVSS vector the attack is network-reachable with no authentication but carries a specific attack requirement (the non-default compat-API usage). |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jun 25, 2026
Certificate trust-chain bypass in wolfSSL allows attackers to have an attacker-controlled certificate accepted as valid, but only in builds compiled with --enable-opensslextra where the application calls the OpenSSL-compatibility X509_verify_cert() with caller-supplied untrusted intermediates. The verifier returned success based on the last verified link instead of confirming the chain reaches a configured trust anchor, so a chain deeper than the maximum path depth (default 100) is accepted without ever validating against a trusted root. There is no public exploit identified at time of analysis and it is not listed in CISA KEV; native wolfSSL TLS/DTLS and the default WOLFSSL_VERIFY_PEER handshake are unaffected.
RemediationAI
Patch available per vendor advisory; the upstream fix is available as wolfSSL PR https://github.com/wolfSSL/wolfssl/pull/10674, but a tagged patched release version is not independently confirmed in the supplied data, so monitor https://www.wolfssl.com/docs/security-vulnerabilities/ for the official fixed release and upgrade to it. As a compensating control where you cannot immediately patch, applications can avoid the vulnerable path entirely by relying on native wolfSSL TLS verification (default WOLFSSL_VERIFY_PEER) instead of manual X509_verify_cert() with caller-supplied untrusted intermediates - this removes exposure but requires refactoring how the application performs certificate validation. If the compatibility API must be used, validate that the resulting chain actually terminates at a configured trust anchor rather than trusting the API return value alone, and reject chains that approach or exceed the maximum path depth (default 100), accepting that legitimate deep chains would also be rejected. Builds that do not require the OpenSSL compatibility layer can be rebuilt without --enable-opensslextra to eliminate the affected code path, at the cost of losing OpenSSL-compatibility API support.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
wolfSSL is a lightweight, embedded/IoT-focused TLS library that ships an optional OpenSSL compatibility layer (enabled via --enable-opensslextra) exposing OpenSSL-style APIs such as X509_verify_cert() (internally wolfSSL_X509_verify_cert()). The flaw is a classic CWE-295 (Improper Certificate Validation) root cause: X.509 path building is supposed to terminate only when it reaches a configured trust anchor, but this code path treated successful verification of the most recent link as overall success. When a caller supplies untrusted intermediates and the chain exceeds the verifier's maximum path depth (default 100), path building exhausts its depth budget while still traversing untrusted intermediates and accepts the chain even though no trust anchor was reached. The affected component is identified by cpe:2.3:a:wolfssl:wolfssl:*:*:*:*:*:*:*:*, and the upstream fix is in wolfSSL PR #10674, which adds untrusted-anchor regression certificates and a test (test_X509_verify_cert_untrusted_inter) confirming a chain is accepted only when it terminates at a trusted anchor.
Know when OpenSSL gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N
AC:H reflects the required non-default opensslextra manual-verification path plus a >100-deep crafted chain; PR:N/UI:N as no auth or interaction is needed; impact is integrity-only (I:H), no confidentiality or availability.
Primary rating from Vendor (wolfSSL).
CVSS VectorVendor: wolfSSL
DescriptionCVE.org
X.509 trust-chain bypass (path-depth exhaustion) in the OpenSSL compatibility certificate verifier (wolfSSL_X509_verify_cert()). This affects only builds with --enable-opensslextra whose application calls X509_verify_cert() with caller-supplied untrusted intermediates; for those users it is critical, otherwise the library is unaffected. Native wolfSSL TLS/DTLS usage is not impacted. X509_verify_cert() returned success based only on the last verified link rather than on reaching a trust anchor: when the supplied chain is deeper than the verifier's maximum path depth (default 100), path building runs out of depth while still walking untrusted intermediates and the chain is accepted even though it never reaches a configured trust anchor, allowing acceptance of an attacker-controlled certificate. The default TLS handshake (WOLFSSL_VERIFY_PEER) is not affected; only applications doing manual or deferred verification through this API are.
Executive ViewAI
CVE-2026-11999 in wolfSSL enables attackers to bypass certificate validation in specific configurations-no public exploit identified at time of analysis. The vulnerability affects only applications built with --enable-opensslextra that pass untrusted intermediate certificates to verification functions; standard wolfSSL TLS deployments are unaffected. Organizations using wolfSSL's OpenSSL-compatibility layer must apply available patches to prevent certificate trust bypass and potential man-in-the-middle attacks.
Apply vendor patch. For systems where patching is delayed: disable --enable-opensslextra at build time if not required for application compatibility; enforce network-level certificate validation at security gateways; implement monitoring for suspicious certificate chain usage patterns.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
The (1) TLS and (2) DTLS implementations in OpenSSL 1.0.1 before 1.0.1g do not properly handle Heartbeat Extension packe
In order to decrypt SM2 encrypted data an application is expected to call the API function EVP_PKEY_decrypt(). Rated cri
The dtls1_reassemble_fragment function in d1_both.c in OpenSSL before 0.9.8za, 1.0.0 before 1.0.0m, and 1.0.1 before 1.0
OpenSSL before 0.9.8za, 1.0.0 before 1.0.0m, and 1.0.1 before 1.0.1h does not properly restrict processing of ChangeCiph
The SSLv2 protocol, as used in OpenSSL before 1.0.1s and 1.0.2 before 1.0.2g and other products, requires a server to se
The ssl3_get_key_exchange function in s3_clnt.c in OpenSSL before 0.9.8zd, 1.0.0 before 1.0.0p, and 1.0.1 before 1.0.1k
In addition to the c_rehash shell command injection identified in CVE-2022-1292, further circumstances where the c_rehas
The TLS protocol 1.2 and earlier, when a DHE_EXPORT ciphersuite is enabled on a server but not on a client, does not pro
The SSL protocol 3.0, as used in OpenSSL through 1.0.1i and other products, uses nondeterministic CBC padding, which mak
The AES-NI implementation in OpenSSL before 1.0.1t and 1.0.2 before 1.0.2h does not consider memory allocation during a
The X509_verify_cert function in crypto/x509/x509_vfy.c in OpenSSL 1.0.1n, 1.0.1o, 1.0.2b, and 1.0.2c does not properly
A buffer overrun can be triggered in X.509 certificate verification, specifically in name constraint checking. Rated hig
EUVD-2026-39496
GHSA-wrw6-8jh4-qvcx
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB