Home

Description

wolfSSL_X509_verify_cert in the OpenSSL compatibility layer accepts a certificate chain in which the leaf's signature is not checked, if the attacker supplies an untrusted intermediate with Basic Constraints `CA:FALSE` that is legitimately signed by a trusted root. An attacker who obtains any leaf certificate from a trusted CA (e.g. a free DV cert from Let's Encrypt) can forge a certificate for any subject name with any public key and arbitrary signature bytes, and the function returns `WOLFSSL_SUCCESS` / `X509_V_OK`. The native wolfSSL TLS handshake path (`ProcessPeerCerts`) is not susceptible and the issue is limited to applications using the OpenSSL compatibility API directly, which would include integrations of wolfSSL into nginx and haproxy.

PUBLISHED Reserved 2026-04-03 | Published 2026-04-10 | Updated 2026-04-22 | Assigner wolfSSL




HIGH: 8.6CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N

Problem types

CWE-295 Improper certificate validation

Product status

Default status
unaffected

Any version
affected

Credits

Calif.io in collaboration with Claude and Anthropic Research finder

References

github.com/wolfSSL/wolfssl/pull/10102

cve.org (CVE-2026-5501)

nvd.nist.gov (CVE-2026-5501)

Download JSON