Executive brief
wolfSSL is a security library used to establish encrypted connections for web servers and embedded devices. A vulnerability exists where the library may incorrectly accept a "Raw Public Key" instead of a standard digital certificate, even when this hasn't been agreed upon by both parties. This allows a connection to bypass the standard security checks that verify a server's identity, potentially allowing an attacker to impersonate a trusted service.
Technical details
A vulnerability in wolfSSL's TLS handshake processing allows a peer to substitute a Raw Public Key (RPK) for an X.509 certificate even if RPK was not negotiated. Because RPKs lack a certificate chain, the 'ParseCertRelative()' function accepts them without performing trust verification or chain validation. An attacker can exploit this to bypass authentication by providing a raw key that the library fails to verify against a trusted root. This issue specifically affects builds where Raw Public Key support (HAVE_RPK) is enabled (e.g., via --enable-all). The fix ensures that the received certificate type matches the negotiated type, defaulting to X.509.
Affected products
- wolfSSL wolfSSL 5.6.4 to 5.9.1
Timeline
- 2026-06-17: patched: Fix merged into master branch via PR 10702
- 2026-06-25: advisory: NVD publication date