Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain delivery channel to PKCS#12 import function
-
DeliveryCraft PKCS#12 with tampered certificate chain
-
ExploitSet embedded MAC length field to zero
-
ExecutionSubmit crafted file to wolfSSL parser
-
PersistZero-length comparison trivially passes
-
ImpactTampered bundle accepted as integrity-verified
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 uses wolfSSL's PKCS#12 MAC verification code path and accepts PKCS#12 input from an attacker-controlled or untrusted source. The attacker must be able to deliver a crafted PKCS#12 file - specifically one where the MAC length field embedded in the parsed structure has been set to zero or a truncated value - to the wolfSSL-based parser. The CVSS 4.0 AT:P metric explicitly confirms a specific attack condition is required. Exploitation is further limited by PR:L, indicating some form of access or delivery mechanism (e.g., an authenticated upload endpoint, a provisioning API, or a network-accessible certificate import function) must be available to the attacker. Deployments that process only internally generated PKCS#12 files from trusted sources, or that do not use wolfSSL's PKCS#12 functionality at all, are not exposed. The vulnerability does not affect the TLS handshake path itself, only the PKCS#12 key-store integrity check. |
| Impact | The vendor-supplied CVSS 4.0 vector (AV:N/AC:L/AT:P/PR:L/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N, score 6.0) reflects a moderate finding with high integrity impact confined to the vulnerable system. AT:P (Attack Requirements: Present) acknowledges that exploitation depends on the attacker controlling the PKCS#12 input - not every wolfSSL deployment exposes PKCS#12 import from external sources. PR:L indicates some level of access or delivery mechanism is required; unauthenticated exploitation cannot be confirmed from available data. No CISA KEV listing and no public PoC have been identified, significantly lowering practical urgency relative to the VI:H signal alone. EPSS data was not provided, so exploitation probability cannot be quantified. The real-world risk is most acute for IoT provisioning pipelines, enterprise PKI import workflows, and VPN gateways that ingest PKCS#12 bundles from external parties; environments processing only internally-generated PKCS#12 files face minimal exposure. There is no confidentiality or availability impact per the CVSS vector, making this a pure integrity bypass. |
| Exploit ScenarioDerived | An attacker with the ability to supply a PKCS#12 file to a wolfSSL-based service - such as a certificate import API or VPN client provisioning endpoint - crafts a structurally valid PKCS#12 bundle with an arbitrary or modified certificate chain, sets the embedded MAC value to an all-zero or empty byte sequence, and sets the MAC length field in the structure to zero. When wolfSSL processes this file, the HMAC comparison operates over zero bytes and trivially succeeds, causing the tampered bundle to be accepted as integrity-verified and its contents trusted by the application. No public PoC has been identified, but the forgery technique is mechanically straightforward given the description and the zero-length tag test case added in PR #10192. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jun 25, 2026
PKCS#12 MAC verification in wolfSSL accepts truncated or zero-length MACs because the comparison uses an attacker-controlled length field parsed from the input structure rather than the expected digest size, completely defeating HMAC integrity protection on PKCS#12 key stores. Any wolfSSL-based application that parses PKCS#12 files from untrusted sources - including certificate import endpoints, VPN provisioning services, or key management systems - can be tricked into accepting a structurally tampered PKCS#12 bundle as MAC-verified. No public exploit code or CISA KEV listing has been identified; the upstream fix is available as GitHub PR #10192 but a tagged patched release has not been independently confirmed.
RemediationAI
Monitor https://www.wolfssl.com/docs/security-vulnerabilities/ and the wolfSSL release notes for an official patched version announcement corresponding to the fix in GitHub PR #10192 (https://github.com/wolfSSL/wolfssl/pull/10192), then upgrade to that version as soon as it is tagged. Note: the patch reference points to an unmerged or recently merged PR - a released patched version number has not been independently confirmed from the available data, so do not treat the PR merge alone as confirmation of availability in a stable release. As a compensating control pending upgrade, restrict or disable PKCS#12 import from untrusted or external sources; this eliminates the attack surface entirely with the trade-off of blocking legitimate external key import workflows. Application-level pre-validation of the MAC length field against expected digest sizes before invoking wolfSSL is an imperfect intermediate measure. Disabling the PKCS#12 feature at compile time (if not required) is the most robust workaround.
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 (cpe:2.3:a:wolfssl:wolfssl:*:*:*:*:*:*:*:*) is a lightweight embedded SSL/TLS and cryptographic library targeting IoT, RTOS, and constrained-device environments. PKCS#12 is the binary container format used to bundle private keys, certificates, and CA chains, protected by a MAC (typically HMAC-SHA1 or HMAC-SHA256) and optionally encrypted. The root cause maps to CWE-347 (Improper Verification of Cryptographic Signature): wolfSSL's PKCS#12 verify path invoked an HMAC comparison using a length parameter taken directly from the MAC field as parsed from the attacker-supplied structure, without first asserting that this length equals the output size of the configured digest algorithm. Setting the stored MAC length to zero causes the comparison to operate over zero bytes, trivially succeeding for any input. The PR diff confirms this by adding the test function test_wolfSSL_EVP_DigestVerify_HMAC_zero_len_forgery in tests/api/test_evp_pkey.c, which explicitly asserts that EVP_DigestVerifyFinal must reject a zero-length tag - a check that was absent before the fix.
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:N/AC:L/AT:P/PR:L/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N
Network delivery requires attacker-controlled PKCS#12 input (AT:P maps to AC:H) and low-privilege access; impact is integrity-only with no confidentiality or availability loss.
Primary rating from Vendor (wolfSSL).
CVSS VectorVendor: wolfSSL
DescriptionCVE.org
PKCS#12 MAC verification uses an attacker-controlled comparison length, weakening the integrity check on the MAC and allowing a mismatched MAC to be accepted. The PKCS#12 verify path compared the locally computed HMAC against the MAC parsed from the PKCS#12 structure using a length taken directly from the attacker-supplied input, without first verifying that it equals the length of the digest actually produced by the configured algorithm. A truncated or zero-length stored MAC could therefore be accepted, defeating the integrity protection of the MAC.
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-39571
GHSA-r98j-g9p3-fcgm
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB