Description
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.
Published: 2026-08-19
Score: 9.1 Critical
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The vulnerability resides in the Netty framework’s TLS handshake processing. A ClientHello whose 4‑byte handshake header is split across fragmented records causes the decoder to read from an incorrect offset, leading to an IndexOutOfBoundsException. The resulting exception triggers a path that selects the default SSL context instead of the SNI‑specific context. When an application configures per‑SNI client authentication as REQUIRED, this default context typically allows no client authentication, effectively removing the mutual TLS requirement. Consequently, an unauthenticated attacker can gain access to routes that should be protected by client certificates.

Affected Systems

Netty:Netty framework versions older than 4.1.137.Final and 4.2.17.Final are affected. Upgrading to version 4.1.137.Final or later, or 4.2.17.Final or later, applies the fix.

Risk and Exploitability

With a CVSS score of 9.1, this bug is considered critical. The EPSS score is not available and the issue is not listed in CISA’s KEV catalog. The likely attack vector is a crafted, fragmented TLS ClientHello sent over the network to a service that uses Netty with SNI. No additional privileges are required; simply sending the malformed packet can bypass the mutual TLS gate. The exploit’s success hinges on the server being configured to use the default SSL context when the SNI context cannot be resolved, which is the case when the fault occurs.

Generated by OpenCVE AI on August 20, 2026 at 08:23 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade to Netty 4.1.137.Final or newer 4.2.17.Final or later versions to receive the fix.
  • Ensure that any fallback SSL context is configured to require client authentication, or alternatively disable SNI if mutually authenticated connections are mandatory.
  • After patching, perform a security review of all Netty‑based services to confirm that the default context is no longer used for SNI resolution.

Generated by OpenCVE AI on August 20, 2026 at 08:23 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-c4c3-7fpv-j4q5 Netty: SNI Routing Bypass via Fragmented TLS ClientHello Causing Fallback to Default SslContext
History

Thu, 20 Aug 2026 15:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

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


Thu, 20 Aug 2026 00:30:00 +0000

Type Values Removed Values Added
First Time appeared Netty
Netty netty
Vendors & Products Netty
Netty netty

Wed, 19 Aug 2026 21:15:00 +0000

Type Values Removed Values Added
Description 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.
Title Netty: SNI Routing Bypass via Fragmented TLS ClientHello Causing Fallback to Default SslContext
Weaknesses CWE-754
References
Metrics cvssV4_0

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


cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-08-20T14:06:16.963Z

Reserved: 2026-08-17T23:49:03.449Z

Link: CVE-2026-75595

cve-icon Vulnrichment

Updated: 2026-08-20T14:06:12.207Z

cve-icon NVD

Status : Awaiting Analysis

Published: 2026-08-19T21:17:37.563

Modified: 2026-09-09T21:19:49.197

Link: CVE-2026-75595

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-20T08:30:04Z

Weaknesses
  • CWE-754

    Improper Check for Unusual or Exceptional Conditions