CVE-2026-75595: Netty: SNI Routing Bypass via Fragmented TLS ClientHello Causing Fallback to Default SslContext

Published Aug 19, 2026
·
Updated

Netty is an asynchronous, event-driven network application framework. Prior to 4.1.137.Fina and 4.2.17.Final, io.netty.handler.ssl.SslClientHelloHandler#decode checks the wrong offset before reading the four-byte TLS handshake header, so a ClientHello whose handshake header spans records can cause an IndexOutOfBoundsException and invoke select(ctx, null). This selects the default SslContext instead of the SNI-specific context. In deployments where per-SNI clientAuth=REQUIRE is the sole mutual TLS gate, the default SslContext uses clientAuth=NONE or clientAuth=OPTIONAL, and no application-layer certificate verification exists, an unauthenticated remote attacker can bypass the protected route's mutual TLS requirement. This issue is fixed in versions 4.1.137.Final and 4.2.17.Final.

Affected Software

2 affected components
Netty Netty<4.1.137.Final
Netty Netty<4.2.17.Final

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade io.netty.handler.ssl.SslClientHelloHandler to a version that resolves this vulnerability.

    Fixed in 4.1.137.Final
  2. Upgrade

    Upgrade io.netty.handler.ssl.SslClientHelloHandler to a version that resolves this vulnerability.

    Fixed in 4.2.17.Final

Event History

Aug 19, 2026
CVE Published
via MITRE·09:00 PM
Data Sourced
via MITRE·09:00 PM
DescriptionWeakness

Frequently Asked Questions

1

Which deployments are exposed to a mutual TLS bypass?

Exposure requires SNI-based TLS context selection where a protected SNI uses clientAuth=REQUIRE, the default SslContext uses clientAuth=NONE or clientAuth=OPTIONAL, and the application does not independently verify client certificates. Deployments that do not rely on per-SNI clientAuth as the sole gate are not described as vulnerable to this bypass.

2

What does an attacker need to do to trigger the issue?

An unauthenticated remote attacker must send a TLS ClientHello whose four-byte handshake header is fragmented across TLS records. This can cause the handler to select the default SslContext rather than the SNI-specific context.

3

How can I determine whether my configuration is at risk before patching?

Review SNI routing and compare clientAuth settings for protected SNI-specific contexts and the default SslContext. The risky configuration has clientAuth=REQUIRE only on the SNI-specific context, a default context allowing no or optional client authentication, and no application-layer client-certificate verification.

4

What versions contain the fix?

The issue is fixed in Netty 4.1.137.Final and 4.2.17.Final. Versions prior to those releases are affected by the described handler behavior.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203