Description
When an application enables both OCSP and CRL revocation checking on one WOLFSSL_CTX or certificate manager, wolfSSL skips the CRL check for any peer certificate that carries no Authority Information Access OCSP URL, and accepts a certificate the loaded CRL lists as revoked. The soft-fail policy for a missing responder collapses the OCSP result onto success before the code decides whether the CRL fallback is still needed, so "no responder exists" becomes indistinguishable from "the responder answered good". Affected builds define both HAVE_OCSP and HAVE_CRL: --enable-ocsp --enable-crl directly, and implicitly --enable-all, --enable-distro, --enable-curl, --enable-nginx, --enable-haproxy, --enable-stunnel, --enable-lighty, --enable-wpas, --enable-strongswan, --enable-mosquitto, --enable-jni, --enable-openvpn and --enable-krb. An application is affected only if it calls both wolfSSL_CTX_EnableOCSP() (or wolfSSL_EnableOCSP() / wolfSSL_CertManagerEnableOCSP()) and wolfSSL_CTX_EnableCRL() (or the equivalents) with a CRL loaded; an application that uses OCSP stapling alone through wolfSSL_CTX_EnableOCSPStapling() is not affected, because that sets up a separate OCSP instance. The defect sits in ProcessPeerCerts() and is reachable over TLS 1.0 through TLS 1.3 and DTLS, both on a client verifying a server certificate and on a server verifying a client certificate under mutual or post-handshake authentication. When the skipped check falls on a chain certificate rather than the leaf, the unchecked intermediate is promoted into the certificate manager and stays a trusted signer for every later connection on that context, so an affected long-running process needs its WOLFSSL_CTX torn down and not only its library replaced. All wolfSSL versions from 5.9.2 and earlier are affected; on versions 5.9.1 and 5.9.2 the WOLFSSL_OCSP_CHECKALL configuration fails closed with OCSP_NEED_URL, which leaves wolfSSL_CTX_EnableOCSP() without CHECKALL as the exposed configuration on 5.9.2.
Published: 2026-09-27
Score: 2.3 Low
EPSS: < 1% Very Low
KEV: No
Impact: Certificate Revocation Oversight
Action: Immediate Patch
AI Analysis

Impact

When a wolfSSL application enables both OCSP and CRL revocation checks in the same context, the library incorrectly skips the CRL verification for certificates that lack an OCSP URL in the Authority Information Access extension. The library’s soft‑fail handling for a missing OCSP responder collapses the result to success before evaluating whether a CRL fallback should occur, causing a revoked certificate in the loaded CRL to be accepted as valid. This weakness allows an attacker to use a revoked certificate without detection and can lead to the promotion of a formerly checked intermediate certificate into the trusted signer pool for the lifetime of the context, thereby compromising long‑running processes. The flaw affects any TLS 1.0–1.3 or DTLS connection on both client and server sides under mutual or post‑handshake authentication, including configurations that use OCSP stapling alone, which is unaffected.

Affected Systems

The issue exists in all wolfSSL releases up to and including 5.9.2. It only manifests when the application calls both wolfSSL_CTX_EnableOCSP() (or its equivalents) and wolfSSL_CTX_EnableCRL() (or equivalents) with a CRL loaded into the context. The affected build flags include both HAVE_OCSP and HAVE_CRL or any configuration that enables all features such as --enable-all, --enable-distro, --enable-curl, --enable-nginx, --enable-haproxy, --enable-stunnel, --enable-lighty, --enable-wpas, --enable-strongswan, --enable-mosquitto, --enable-jni, --enable-openvpn and --enable-krb.

Risk and Exploitability

The CVSS score of 2.3 indicates low severity. The EPSS score is not available, and the vulnerability is not listed in the CISA KEV catalog. Exploitation requires an application that has both OCSP and CRL checks enabled and a loaded CRL that lists a revoked certificate. The vulnerability can be triggered over any TLS 1.0–1.3 or DTLS connection, but because it depends on application configuration rather than an external attacker’s ability to inject traffic, the likelihood of exploitation is limited. Nonetheless, the flaw’s potential to promote revoked or intermediate certificates into the trusted pool can lead to long‑term compromise of all future connections using the same context.

Generated by OpenCVE AI on September 27, 2026 at 10:25 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade wolfSSL to version 5.9.3 or newer, which removes the skipped CRL check bug
  • If a patch is not immediately available, modify the application to avoid enabling both OCSP and CRL in the same SSL context—disable one of the mechanisms
  • Reinitialize or recreate the WOLFSSL_CTX for each new connection or after disabling the incompatible checks to prevent cached promoted certificates

Generated by OpenCVE AI on September 27, 2026 at 10:25 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Tue, 29 Sep 2026 19:15:00 +0000

Type Values Removed Values Added
CPEs cpe:2.3:a:wolfssl:wolfssl:*:*:*:*:*:*:*:*
Metrics cvssV3_1

{'score': 5.3, 'vector': 'CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:H/A:N'}


Tue, 29 Sep 2026 18:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Sun, 27 Sep 2026 11:00:00 +0000

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

Sun, 27 Sep 2026 09:30:00 +0000

Type Values Removed Values Added
Description When an application enables both OCSP and CRL revocation checking on one WOLFSSL_CTX or certificate manager, wolfSSL skips the CRL check for any peer certificate that carries no Authority Information Access OCSP URL, and accepts a certificate the loaded CRL lists as revoked. The soft-fail policy for a missing responder collapses the OCSP result onto success before the code decides whether the CRL fallback is still needed, so "no responder exists" becomes indistinguishable from "the responder answered good". Affected builds define both HAVE_OCSP and HAVE_CRL: --enable-ocsp --enable-crl directly, and implicitly --enable-all, --enable-distro, --enable-curl, --enable-nginx, --enable-haproxy, --enable-stunnel, --enable-lighty, --enable-wpas, --enable-strongswan, --enable-mosquitto, --enable-jni, --enable-openvpn and --enable-krb. An application is affected only if it calls both wolfSSL_CTX_EnableOCSP() (or wolfSSL_EnableOCSP() / wolfSSL_CertManagerEnableOCSP()) and wolfSSL_CTX_EnableCRL() (or the equivalents) with a CRL loaded; an application that uses OCSP stapling alone through wolfSSL_CTX_EnableOCSPStapling() is not affected, because that sets up a separate OCSP instance. The defect sits in ProcessPeerCerts() and is reachable over TLS 1.0 through TLS 1.3 and DTLS, both on a client verifying a server certificate and on a server verifying a client certificate under mutual or post-handshake authentication. When the skipped check falls on a chain certificate rather than the leaf, the unchecked intermediate is promoted into the certificate manager and stays a trusted signer for every later connection on that context, so an affected long-running process needs its WOLFSSL_CTX torn down and not only its library replaced. All wolfSSL versions from 5.9.2 and earlier are affected; on versions 5.9.1 and 5.9.2 the WOLFSSL_OCSP_CHECKALL configuration fails closed with OCSP_NEED_URL, which leaves wolfSSL_CTX_EnableOCSP() without CHECKALL as the exposed configuration on 5.9.2.
Title CRL check skipped when OCSP enabled and certificate has no OCSP URL
Weaknesses CWE-299
References
Metrics cvssV4_0

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


cve-icon MITRE

Status: PUBLISHED

Assigner: wolfSSL

Published:

Updated: 2026-09-29T17:33:10.533Z

Reserved: 2026-09-21T15:16:23.702Z

Link: CVE-2026-94417

cve-icon Vulnrichment

Updated: 2026-09-29T17:31:20.902Z

cve-icon NVD

Status : Analyzed

Published: 2026-09-27T10:16:59.700

Modified: 2026-09-29T19:07:30.923

Link: CVE-2026-94417

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-09-27T10:45:06Z

Weaknesses
  • CWE-299

    Improper Check for Certificate Revocation