MEDIUM 6.5

CVE-2026-55962: TLS 1.3 Post-Handshake Authentication Bypass in wolfSSL

A flaw in wolfSSL's TLS 1.3 implementation allows servers to incorrectly accept client authentication messages without verifying the client actually sent the required cryptographic proof of identity. This happens specifically when a server requests client authentication after the initial handshake is complete. The vulnerability only affects servers using wolfSSL's post-handshake authentication feature and does not impact typical clients or servers that perform all authentication during the initial connection setup.

Source data · NVD / CISA · public domain

CVSS
3.1 · 6.5 MEDIUM · CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N
Weaknesses (CWE)
CWE-287
Affected products
1 configuration(s)
Published / Modified
2026-06-25 / 2026-06-27

NVD description (verbatim)

TLS 1.3 post-handshake authentication (PHA) issue where a server could accept a client's Finished message without the client having sent a Certificate and CertificateVerify. The post-handshake-auth exemption that allows an empty/absent peer certificate was only intended for the initial handshake, but it was also being applied while a post-handshake CertificateRequest was still outstanding. The check is now scoped to the initial handshake only: on the server, once a post-handshake CertificateRequest has been sent (certReqCtx is set), a peer certificate and a valid CertificateVerify are required again before the Finished is accepted, with empty-certificate handling following the configured verify mode (FAIL_IF_NO_PEER_CERT) just as during first-handshake client authentication. Only affects TLS 1.3 servers built with post-handshake authentication support (WOLFSSL_POST_HANDSHAKE_AUTH / --enable-postauth, included in --enable-all) that enable WOLFSSL_VERIFY_POST_HANDSHAKE and request a client certificate after the handshake via wolfSSL_request_certificate(). Clients, and servers that do not use post-handshake authentication, are unaffected.

2 reference(s) · View on NVD →

SEC.co analysis · AI-assisted, reviewed against source

Technical summary

CVE-2026-55962 is an authentication bypass in wolfSSL's TLS 1.3 post-handshake authentication (PHA) implementation. The vulnerability stems from a scope misalignment in the certificate verification logic. Specifically, an exemption allowing empty or absent peer certificates—intended only for the initial handshake—was incorrectly applied during post-handshake CertificateRequest exchanges. Once a server sends a post-handshake CertificateRequest (setting certReqCtx), the peer must provide both a Certificate message and a valid CertificateVerify before the Finished message is accepted. The fix narrows this exemption to apply only during initial handshake, ensuring post-handshake authentication requests enforce full certificate validation according to the configured FAIL_IF_NO_PEER_CERT policy. The issue is isolated to TLS 1.3 and requires explicit use of WOLFSSL_VERIFY_POST_HANDSHAKE and the wolfSSL_request_certificate() API.

Business impact

For organizations deploying wolfSSL with TLS 1.3 post-handshake authentication—a pattern used in scenarios requiring mutual re-authentication or deferred client authentication—this vulnerability breaks the authentication model. An attacker with network access and an established TLS session could potentially bypass the post-handshake client authentication check, gaining unauthorized access to protected resources or operations that should require fresh client proof-of-possession. This is most critical in zero-trust architectures or APIs using continuous authentication. Organizations not explicitly enabling post-handshake authentication are not affected.

Affected systems

Only wolfSSL deployments are affected. Specifically: servers running wolfSSL with TLS 1.3 support, compiled with post-handshake authentication enabled (--enable-postauth or --enable-all), that enable the WOLFSSL_VERIFY_POST_HANDSHAKE configuration flag and actively invoke wolfSSL_request_certificate() to demand client authentication after handshake completion. Client applications using wolfSSL are not vulnerable, nor are servers that do not use the post-handshake authentication feature. Other TLS libraries are unaffected.

Exploitability

Exploitation requires network-level access to initiate or maintain a TLS connection to the vulnerable server, as well as knowledge that post-handshake authentication is in use (Low privilege barrier). An attacker cannot exploit this remotely without an established session. The CVSS 3.1 score of 6.5 (MEDIUM) reflects low attack complexity and no user interaction needed, but requires existing authentication context. The integrity impact is high because the authentication control is bypassed, but confidentiality and availability are not directly affected. This is not listed in CISA's Known Exploited Vulnerabilities catalog.

Remediation

Apply the patched version of wolfSSL when available. Verify the vendor advisory for the specific patched release addressing this certificate validation scope fix. Interim mitigation: organizations should audit production deployments to confirm whether WOLFSSL_VERIFY_POST_HANDSHAKE is actually enabled and whether post-handshake certificate requests are in active use; many deployments may not use this feature. If post-handshake authentication is not required for your security model, disabling or not compiling in this feature eliminates the risk entirely.

Patch guidance

Monitor the wolfSSL project (https://www.wolfssl.com/) for security advisories and patched releases. Verify against the vendor advisory which version addresses this CVE and update accordingly. Given the narrow scope (post-handshake auth only), patching should be straightforward with no breaking changes for applications not using that feature. Test any update in a staging environment to confirm compatibility.

Detection guidance

Monitor wolfSSL library versions in use and cross-reference against patched releases when announced. Review application configuration and source code to identify any use of WOLFSSL_VERIFY_POST_HANDSHAKE or wolfSSL_request_certificate(). Network-based detection is difficult because the flaw is in authentication logic, not payload parsing; focus on application-level logging of post-handshake authentication events and ensure they are properly enforced. Consider adding explicit auditing around certificate acceptance during post-handshake phases.

Why prioritize this

This is a MEDIUM-severity authentication bypass with a low privilege barrier and network accessibility. While exploitation requires an active session, the vulnerability directly undermines an authentication control, which is typically a critical security function. Organizations using post-handshake authentication should prioritize patching, as this is a targeted flaw in a specific advanced feature rather than a widespread default-configuration issue. Those not using the feature can deprioritize below critical vulnerabilities affecting base functionality.

Risk score, explained

CVSS 3.1 score of 6.5 reflects: (1) Network attack surface (AV:N), (2) Low attack complexity—no special conditions required (AC:L), (3) Low privilege requirement (PR:L, suggesting an established connection), (4) No user interaction (UI:N), (5) High integrity impact (I:H) because authentication is bypassed, (6) No confidentiality or availability impact (C:N/A:N). The score appropriately captures a focused authentication bypass with limited scope (post-handshake TLS 1.3 only), not a widespread vulnerability in the core library.

Frequently asked questions

Does this affect all wolfSSL users?

No. Only servers running wolfSSL with TLS 1.3 post-handshake authentication explicitly enabled and actively using wolfSSL_request_certificate() are affected. Most deployments, and all client applications, are unaffected. Review your configuration to determine if WOLFSSL_VERIFY_POST_HANDSHAKE is enabled.

What exactly is post-handshake authentication and why would I use it?

Post-handshake authentication (PHA) is a TLS 1.3 feature allowing a server to request client certificate authentication after the initial handshake completes, rather than requiring it upfront. It's useful for deferred or continuous authentication scenarios, zero-trust models, or APIs that authenticate users in stages. If you're not explicitly using wolfSSL_request_certificate(), you're not using this feature.

Can an attacker exploit this without any access or credentials?

No. An attacker must establish a TLS connection to the server first (hence the PR:L requirement in CVSS). They cannot remotely trigger the vulnerability without an active session. This limits the practical exposure but does not eliminate the need to patch if you rely on post-handshake authentication.

What does the patch do?

The patch restricts the 'empty certificate' exemption to the initial handshake phase only. Once a post-handshake CertificateRequest is sent, the server now properly requires the client to send both a Certificate and CertificateVerify message before accepting the Finished message, enforcing the configured certificate verification policy.

This analysis is based on published CVE data as of the stated modification date. Specific patch version numbers, release timelines, and detailed vendor statements should be verified directly with wolfSSL's official security advisories and release notes. Organizations should conduct their own assessment of whether this vulnerability applies to their specific wolfSSL build configuration and deployment. SEC.co provides this intelligence for informational purposes; readers are responsible for validating applicability and testing patches in their own environments before production deployment. Source: NVD (public-domain), retrieved 2026-08-04. Analysis generated by SEC.co (claude-haiku-4-5).