Skip to main content

wolfSSL EUVDEUVD-2026-39491

| CVE-2026-55961 HIGH
Improper Verification of Cryptographic Signature (CWE-347)
2026-06-25 wolfSSL GHSA-cj56-5c53-9qjf
8.2
CVSS 4.0 · Vendor: wolfSSL
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Reach app endpoint accepting PKCS#7
  2. Delivery
    Craft degenerate certs-only PKCS#7 (no signer)
  3. Exploit
    Submit to wolfSSL_PKCS7_verify()
  4. Execution
    Verification returns false success
  5. Impact
    Unsigned content trusted, integrity bypassed

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 is built with wolfSSL's OpenSSL compatibility layer AND calls the PKCS7_verify() / wolfSSL_PKCS7_verify() API on PKCS#7 bundles whose contents an attacker can influence. The attacker must supply a degenerate certs-only PKCS#7 SignedData object with empty signerInfos (no signer signature). No authentication, privileges, or user interaction are needed (PR:N/UI:N), but the AT:P attack requirement means it only works where the application accepts and verifies externally provided PKCS#7 data and acts on the success/failure result. Limiting factors: wolfSSL builds without the OpenSSL PKCS#7 compat layer are unaffected, applications that never call PKCS7_verify() on untrusted input are unaffected, and the PKCS7_NOVERIFY flag does not change exploitability (it never waived the signature-existence requirement).

Impact

The CVSS 4.0 vector (AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N, score 8.2 / High) cleanly matches the defect: network-reachable, no privileges or user interaction, but with an Attack Requirement (AT:P) - the victim application must actually pass a potentially degenerate, attacker-controlled PKCS#7 bundle to the compat verify API. Impact is purely to integrity (VI:H); there is no confidentiality or availability loss, consistent with a signature-acceptance bug rather than memory corruption or data exposure. There is no EPSS score, no KEV listing, and no public POC in the provided data, so this is a high-severity correctness/trust flaw rather than a confirmed mass-exploitation event. Real-world risk is conditional: it only matters for products that build wolfSSL with OpenSSL compatibility and rely on PKCS7_verify() to make trust decisions (e.g. validating signed payloads, JWT/JWS-adjacent or S/MIME-style flows - note the 'Jwt Attack' and 'OpenSSL' tags). For those deployments the impact is serious because the verification routine returns the wrong answer silently. Priority is genuinely high for affected integrators but near-zero for wolfSSL users who never call the PKCS7 compat layer.

Exploit ScenarioDerived

An attacker crafts a degenerate PKCS#7 SignedData object containing only certificates (or empty content) and no SignerInfo, then submits it to a network service that authenticates payloads via wolfSSL's PKCS7_verify() compat API. The call returns success, so the service accepts the unsigned content as if it were validly signed, allowing the attacker to spoof a trusted/signed message. No public POC is referenced, and exploitation depends on the target application's use of the vulnerable API on attacker-supplied input (AT:P).

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.1% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Jun 25, 2026

Signature-verification bypass in wolfSSL's OpenSSL compatibility layer allows a degenerate (certs-only) PKCS#7 object - one with empty signerInfos and no actual signature - to be falsely reported as verified by wolfSSL_PKCS7_verify(). Applications using the PKCS7_verify() compat API to authenticate attacker-supplied PKCS#7/CMS bundles can be tricked into treating unsigned content as authentic, undermining integrity guarantees. There is no public exploit identified at time of analysis and it is not in CISA KEV, but the underlying defect is a classic improper-signature-verification (CWE-347) issue with a CVSS 4.0 base score of 8.2.

RemediationAI

Upstream fix available (PR/commit); released patched version not independently confirmed - apply the change from wolfSSL pull request https://github.com/wolfSSL/wolfssl/pull/10702 and track the wolfSSL security advisory page https://www.wolfssl.com/docs/security-vulnerabilities/ for the tagged release that includes it, then upgrade to that version. As a compensating control until you can update, applications should not trust the boolean result of PKCS7_verify() alone: explicitly reject PKCS#7/CMS objects that contain zero SignerInfos (degenerate, certs-only bundles) before treating content as authenticated, and verify that at least one signer was actually validated. Do not rely on the PKCS7_NOVERIFY flag to imply any signature checking - it only suppresses certificate-chain validation. If feasible, constrain inputs so only structures with an expected signer reach the verify path; the trade-off is added application-side parsing/validation logic and potential rejection of legitimate certs-only bundles your workflow may have relied on.

Affected VersionsENISA

wolfSSL 3.15.7 ≤5.9.1

Affected Packages

euvd wolfssl no fix

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 flaw lives in wolfSSL's OpenSSL compatibility shim (src/ssl_p7p12.c), specifically the wolfSSL_PKCS7_verify() emulation of OpenSSL's PKCS7_verify(). PKCS#7 / CMS SignedData structures can legitimately be 'degenerate' - carrying only certificates and CRLs with an empty set of signerInfos (commonly used to ship a cert bundle, e.g. as in openssl crl2pkcs7). The internal primitive wc_PKCS7_VerifySignedData() returns success on such an object because there is technically nothing to fail: with no SignerInfo there is no signature to check. The compat wrapper previously mapped that internal success directly to WOLFSSL_SUCCESS, so 'no signer' was indistinguishable from 'signer verified.' The root cause is CWE-347 (Improper Verification of Cryptographic Signature): the absence of a signature was conflated with a valid signature. The CPE cpe:2.3:a:wolfssl:wolfssl:*:*:*:*:*:*:*:* indicates the wolfSSL library itself across versions, but only OpenSSL-compatibility builds that expose and call PKCS7_verify() are reachable. The fix adds a guard checking p7->pkcs7.verifyCert (set only after a signer's signature is actually verified) and returns WOLFSSL_FAILURE when it is NULL, enforced even under the PKCS7_NOVERIFY flag - clarifying that NOVERIFY waives signer chain validation, not the requirement that a signature exist.

Know when Wolfssl 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

Vendor (wolfSSL) PRIMARY 8.2 HIGH
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
vuln.today AI 5.9 MEDIUM

Network-reachable with no auth or interaction, but AC:H reflects the requirement that the app feed attacker-controlled PKCS#7 to the compat verify API; impact is integrity-only (signature bypass), no C or A loss.

3.1 AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:N
4.0 AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (wolfSSL).

CVSS VectorVendor: wolfSSL

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
Present
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
High
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

wolfSSL_PKCS7_verify() returning success for a degenerate (certs-only) PKCS#7 object that contains no signer. Such an object has empty signerInfos, so the underlying signed-data verification succeeds without authenticating any content. The compatibility-layer verify path now rejects the object when no signer signature has actually been verified, so a PKCS#7 carrying no valid signature is no longer reported as verified. This is enforced regardless of the PKCS7_NOVERIFY flag, which only suppresses signer certificate chain validation and was never intended to waive the requirement that a signature exist. Only affects OpenSSL compatibility builds that call the PKCS7_verify() compatibility API on potentially degenerate PKCS#7 bundles.

Executive ViewAI

Why It Matters

wolfSSL's PKCS#7 signature verification function contains a bypass vulnerability (CVE-2026-55961) that falsely reports unsigned content as authentically signed, enabling attackers to forge documents and communications. Organizations using wolfSSL to validate digital signatures for untrusted or external content face a critical integrity risk where attackers can craft degenerate PKCS#7 bundles that bypass authentication controls. Immediate identification and patching of affected systems is required to restore signature validation integrity.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.1%
Top 97% exploitable
Prevalence
High
widely embedded TLS/crypto library, though only OpenSSL-compat PKCS7 builds are affected
Data Quality
7 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment MSRC GitHub VulDB

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.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.1%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Partial

Priority Score

41
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +41
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

CVE-2017-13099 HIGH POC
7.5 Dec 13

wolfSSL prior to version 3.12.2 provides a weak Bleichenbacher oracle when any TLS cipher suite using RSA key exchange i

CVE-2017-2800 CRITICAL POC
9.8 May 24

A specially crafted x509 certificate can cause a single out of bounds byte overwrite in wolfSSL through 3.10.2 resulting

CVE-2026-89136 HIGH POC
8.3 Sep 27

Authentication bypass in wolfSSL TLS clients built with Raw Public Key (RPK) support allows a malicious or on-path serve

CVE-2026-93302 HIGH POC
8.3 Sep 27

wolfSSL builds that enable the WOLFSSL_TRUST_PEER_CERT macro can be induced to accept a forged clone of a trusted-peer C

CVE-2026-89102 HIGH POC
8.3 Sep 27

Certificate forgery in the wolfSSL client (versions 5.7.2 through 5.9.2) lets a remote attacker who already holds any ce

CVE-2015-6925 HIGH POC
7.5 Jan 22

wolfSSL (formerly CyaSSL) before 3.6.8 allows remote attackers to cause a denial of service (resource consumption or tra

CVE-2022-39173 HIGH POC
7.5 Sep 29

In wolfSSL before 5.5.1, malicious clients can cause a buffer overflow during a TLS 1.3 handshake. Rated high severity (

CVE-2022-38152 HIGH POC
7.5 Aug 31

An issue was discovered in wolfSSL before 5.5.0. Rated high severity (CVSS 7.5), this vulnerability is remotely exploita

CVE-2020-11713 HIGH POC
7.5 Apr 12

wolfSSL 4.3.0 has mulmod code in wc_ecc_mulmod_ex in ecc.c that does not properly resist timing side-channel attacks. Ra

CVE-2019-18840 HIGH POC
7.5 Nov 09

In wolfSSL 4.1.0 through 4.2.0c, there are missing sanity checks of memory accesses in parsing ASN.1 certificate data wh

CVE-2020-15309 HIGH POC
7.0 Aug 21

An issue was discovered in wolfSSL before 4.5.0, when single precision is not employed. Rated high severity (CVSS 7.0).

CVE-2020-24613 MEDIUM POC
6.8 Aug 24

wolfSSL before 4.5.0 mishandles TLS 1.3 server data in the WAIT_CERT_CR state, within SanityCheckTls13MsgReceived() in t

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy