Description
Chain intermediate CA:TRUE without keyCertSign accepted as a signing CA. Intermediate CA certificates are required to have the keyCertSign key usage when a Key Usage extension is present, but chain-supplied temporary CAs (WOLFSSL_TEMP_CA) added while building a certificate path were previously exempted from this check, so an intermediate asserting CA:TRUE but lacking keyCertSign was accepted as a signing CA. The check now applies to chain-supplied temporary CAs as well; only operator-loaded root certificates (WOLFSSL_USER_CA) and self-signed roots remain exempt. Per RFC 5280 an absent Key Usage extension implies all usages, so the requirement is enforced only when the extension is actually present (extKeyUsageSet). Affects the OpenSSL-compatibility certificate-path-building path (X509_verify_cert / X509_STORE, OPENSSL_EXTRA/OPENSSL_ALL), where untrusted chain intermediates are added as temporary CAs; native (non-OpenSSL-compat) certificate verification does not create temporary CAs and is unaffected. Within those builds, the check applies unless ALLOW_INVALID_CERTSIGN is defined.
Published: 2026-06-25
Score: 6.3 Medium
EPSS: n/a
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The vulnerability allows an intermediate CA certificate that declares CA:TRUE but lacks the keyCertSign usage to be accepted as a signing CA. When an application builds a certificate path with chain‑supplied temporary CAs (WOLFSSL_TEMP_CA), the library previously exempted these intermediates from the key usage check, permitting a rogue entity to produce a chain that satisfies verification while containing forged signatures. This weakness can let an attacker have its fabricated certificates trusted, enabling impersonation or man‑in‑the‑middle attacks against applications that rely on wolfSSL for TLS/SSL verification.

Affected Systems

wolfSSL is affected. The issue exists only in builds that enable the OpenSSL‑compatibility path (X509_verify_cert / X509_STORE with OPENSSL_EXTRA/OPENSSL_ALL). In these builds, untrusted chain intermediates added as temporary CAs are vulnerable. Operator‑loaded root certificates (WOLFSSL_USER_CA) and self‑signed roots remain exempt, as does the native verification mode that never creates temporary CAs. The check applies only when a Key Usage extension is present; if it is absent the policy treats all usages as present per RFC 5280, so enforcement occurs only when extKeyUsageSet is true.

Risk and Exploitability

The CVSS score is 6.3, indicating moderate severity. EPSS data is not available, so the exploitation probability is unknown. The vulnerability is not listed in CISA’s KEV catalogue. The likely attack vector is remote, requiring an attacker to provide a manipulated certificate chain to an application that uses the vulnerable path. Exploitation does not grant local privilege escalation but subverts authentication, allowing a forged certificate to be considered valid, which could lead to traffic interception or unauthorized access. The check can be disabled by defining ALLOW_INVALID_CERTSIGN; if that macro is set, the problem becomes a configuration issue rather than a code defect.

Generated by OpenCVE AI on June 25, 2026 at 22:07 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade wolfSSL to the latest release that incorporates the fix from PR 10702
  • Remove or avoid use of temporary CAs (WOLFSSL_TEMP_CA) in the certificate chain
  • Recompile wolfSSL without defining the ALLOW_INVALID_CERTSIGN macro to enforce keyCertSign verification

Generated by OpenCVE AI on June 25, 2026 at 22:07 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Fri, 26 Jun 2026 01:30:00 +0000

Type Values Removed Values Added
First Time appeared Wolfssl
Wolfssl wolfssl
Vendors & Products Wolfssl
Wolfssl wolfssl

Thu, 25 Jun 2026 20:00:00 +0000

Type Values Removed Values Added
Description Chain intermediate CA:TRUE without keyCertSign accepted as a signing CA. Intermediate CA certificates are required to have the keyCertSign key usage when a Key Usage extension is present, but chain-supplied temporary CAs (WOLFSSL_TEMP_CA) added while building a certificate path were previously exempted from this check, so an intermediate asserting CA:TRUE but lacking keyCertSign was accepted as a signing CA. The check now applies to chain-supplied temporary CAs as well; only operator-loaded root certificates (WOLFSSL_USER_CA) and self-signed roots remain exempt. Per RFC 5280 an absent Key Usage extension implies all usages, so the requirement is enforced only when the extension is actually present (extKeyUsageSet). Affects the OpenSSL-compatibility certificate-path-building path (X509_verify_cert / X509_STORE, OPENSSL_EXTRA/OPENSSL_ALL), where untrusted chain intermediates are added as temporary CAs; native (non-OpenSSL-compat) certificate verification does not create temporary CAs and is unaffected. Within those builds, the check applies unless ALLOW_INVALID_CERTSIGN is defined.
Title Chain intermediate CA:TRUE without keyCertSign accepted as a signing CA (temporary CA exemption)
Weaknesses CWE-295
References
Metrics cvssV4_0

{'score': 6.3, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N'}


cve-icon MITRE

Status: PUBLISHED

Assigner: wolfSSL

Published:

Updated: 2026-06-25T19:30:34.789Z

Reserved: 2026-06-17T22:11:03.530Z

Link: CVE-2026-55964

cve-icon Vulnrichment

No data.

cve-icon NVD

No data.

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-06-26T01:15:04Z

Weaknesses
  • CWE-295

    Improper Certificate Validation