Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessGain adjacent network access to target
-
DeliveryCraft PKCS#7 with trusted cert first, attacker cert second
-
ExploitDeliver crafted message to victim application
-
ExecutionApplication triggers wolfSSL PKCS7_verify processing
-
PersistwolfSSL returns trusted cert as signer identity
-
ImpactApplication grants forged signature unauthorized trust
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A04:2025 - Cryptographic Failures
ASVS 5.0
V11 - Cryptography Signature verification
|
| Exploitation Conditions | Exploitation requires that the target application was compiled with the HAVE_PKCS7 compile-time flag enabled and uses wolfSSL_PKCS7_get0_signers() to determine signer identity for trust or authorization decisions. The attacker must be positioned on the same network segment as the target (AV:A per the CVSS 4.0 vector - not reachable from the open internet without prior access). Passive user interaction is required (UI:P), meaning the application must process the crafted PKCS#7 message during normal operation. Attack complexity is high (AC:H) because the attacker must precisely control the certificate bundle ordering within a valid PKCS#7 envelope and specific prerequisites must be present (AT:P). Exploitation is limited to the integrity dimension only - confidentiality and availability are unaffected. Applications that independently validate the returned signer certificate against a pinned trust store are not vulnerable to the signer confusion outcome even on unpatched wolfSSL builds. |
| Impact | The CVSS 4.0 vector (AV:A/AC:H/AT:P/PR:N/UI:P/VC:N/VI:H/VA:N) scores 5.9, reflecting a targeted rather than mass-exploitation scenario: the attacker must be on the adjacent network, attack complexity is high due to the required certificate bundle crafting, and specific prerequisites (AT:P) must be present. Integrity impact is high (VI:H) because a successfully exploited forged signature bypasses trust decisions entirely, but there is no confidentiality or availability impact. This CVE does not appear in the CISA KEV catalog, and no EPSS data was provided, making automated widespread exploitation unlikely at this time. No public exploit has been identified. The practical risk is highest in applications where PKCS#7 signer identity drives authorization decisions - code signing pipelines, firmware update validation, or JWT-over-PKCS#7 flows as suggested by the 'Jwt Attack' tag. The AC:H and AT:P constraints mean real-world exploitation is likely targeted and opportunistic, not automated. Key uncertainty: no affected version range is specified beyond the wildcard CPE - the full historical version scope is not independently confirmed from available data. |
| Exploit ScenarioDerived | An attacker on the adjacent network crafts a malicious PKCS#7 signed message that places a legitimate trusted certificate first in the certificate bundle and their own attacker-controlled self-signed certificate second; the attacker's certificate produces the actual digital signature. When the victim application passes this message to wolfSSL's PKCS7_verify, the signature validates (the attacker cert matches the signature), but wolfSSL_PKCS7_get0_signers returns the trusted certificate as the reported signer, causing the application to treat the forged content as originating from the trusted party. No public proof-of-concept has been identified at time of analysis, but the attack is structurally straightforward for anyone with knowledge of PKCS#7 DER encoding. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jun 25, 2026
Signer confusion in wolfSSL's PKCS7_verify implementation allows a crafted PKCS#7 message to report a trusted certificate as the signer even when an attacker-controlled certificate produced the actual signature. Any application using wolfSSL for PKCS#7 signature verification - including JWT workflows flagged in the CVE tags - may incorrectly authorize operations as if from a trusted party. No public exploit has been identified at time of analysis, but the upstream fix is available as GitHub PR #10203 and the vulnerability is straightforwardly reproducible by anyone familiar with PKCS#7 certificate bundle structure.
RemediationAI
The upstream fix is available as GitHub PR #10203 (https://github.com/wolfSSL/wolfssl/pull/10203); however, a specific tagged release version containing this fix has not been independently confirmed from available data - only the PR reference is present, not a versioned release artifact. Users should monitor https://www.wolfssl.com/docs/security-vulnerabilities/ for a patched release version and upgrade as soon as one is published. As a compensating control prior to patching, applications using PKCS7_verify should independently validate signer identity by cross-checking the certificate returned by wolfSSL_PKCS7_get0_signers() against a locally maintained trusted certificate store, rather than trusting the returned identity at face value; this adds a second verification layer with no functional trade-off for well-designed applications. If PKCS#7 signature verification is not required by the application, disabling the HAVE_PKCS7 compile-time feature flag eliminates the attack surface entirely, with the trade-off of removing all PKCS#7 functionality from the build.
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
The vulnerability resides in wolfSSL_PKCS7_get0_signers() within src/ssl_p7p12.c of the wolfSSL embedded TLS/crypto library (CPE: cpe:2.3:a:wolfssl:wolfssl:*:*:*:*:*:*:*:*). PKCS#7 (RFC 2315) is a cryptographic message syntax used for digital signatures, S/MIME, and certificate packaging. The root cause is CWE-347 (Improper Verification of Cryptographic Signature): the function previously always returned singleCert (cert[0], the first certificate in the bundle) as the reported signer, regardless of which certificate actually verified the signature. Because PKCS#7 allows bundling multiple certificates, an attacker can place a trusted CA or end-entity certificate first in the bundle and their own attacker-controlled certificate second; wolfSSL's verification engine uses the attacker cert to validate the signature (which passes), but the identity-reporting function returns the trusted cert as the signer. The fix, visible in PR #10203, introduces a preference for p7->pkcs7.verifyCert (the cert that actually validated the signature) over p7->pkcs7.singleCert. The PR also addresses a related heap-OOB read risk where passing the address of a struct field pointer directly to wolfSSL_d2i_X509 would corrupt the field by advancing the pointer beyond the DER boundary.
Know when Jwt Attack 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:A/AC:H/AT:P/PR:N/UI:P/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N
Adjacent vector per CVSS 4.0 source; AC:H for required cert bundle crafting; PR:N but passive application interaction needed; integrity-only impact from signer trust confusion.
Primary rating from Vendor (wolfSSL).
CVSS VectorVendor: wolfSSL
DescriptionCVE.org
PKCS7_verify signer confusion allows forged signatures, where the signer associated with a signature is not correctly bound, permitting a forged signature to be accepted.
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
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
More in Jwt Attack
View allWhy is Microsoft republishing a CVE from 2013? We are republishing CVE-2013-3900 in the Security Update Guide to update
Authentication bypass in SimpleHelp 5.5.15 and prior (plus 6.0 pre-release builds) allows remote unauthenticated attacke
Authentication bypass in WSO2 API Manager and related components (Universal Gateway, Traffic Manager, API Control Plane,
Authentication bypass in Fortinet FortiOS, FortiProxy, and FortiSwitchManager allows unauthenticated remote attackers to
ruby-saml provides security assertion markup language (SAML) single sign-on (SSO) for Ruby. Rated critical severity (CVS
Security feature bypass in Microsoft .NET (shipped via Visual Studio 2022 17.12/17.14 and Visual Studio 2026 18.7) lets
ruby-saml provides security assertion markup language (SAML) single sign-on (SSO) for Ruby. Rated critical severity (CVS
The package jsrsasign before 10.5.25 are vulnerable to Improper Verification of Cryptographic Signature when JWS or JWT
Authentication and authorization bypass in fast-jwt 6.2.0 through 6.2.4 (npm, NearForm) lets a remote, unauthenticated a
A library injection vulnerability exists in Microsoft Teams (work or school) 24046.2813.2770.1094 for macOS. Rated criti
A library injection vulnerability exists in the WebView.app helper app of Microsoft Teams (work or school) 24046.2813.27
A library injection vulnerability exists in the com.microsoft.teams2.modulehost.app helper app of Microsoft Teams (work
EUVD-2026-39581
GHSA-69q5-vhm6-656f
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB