Loading...
Skip to main content

CVE-2026-75595 — Vulnerability in io.netty:netty-handler — CVE Details

CRITICAL

Netty: SNI Routing Bypass via Fragmented TLS ClientHello Causing Fallback to Default SslContext

Published September 8, 2026Updated September 8, 2026Source: osv

Summary

### Summary A fragmented TLS ClientHello whose handshake header spans multiple records makes Netty silently fall back to the default SslContext; where per-SNI selection is the sole mTLS gate, an unauthenticated attacker can bypass the route's mTLS requirement. ### Details In `io.netty.handler.ssl.SslClientHelloHandler#decode` the guard that should wait for the 4-byte handshake header checks the wrong offset - it ignores the 5-byte record header that precedes it - and therefore never fires: ```java if (handshakeLength == -1) { if (readerIndex + 4 > endOffset) { // Need more data to read HandshakeType and handshakeLength (4 bytes) return; } ``` When the first record's payload is < 4 bytes, `handshakeLength = in.getUnsignedMedium(readerIndex + SslUtils.SSL_RECORD_HEADER_LENGTH + 1);` leads to `IndexOutOfBoundsException `. That is caught by the generic `catch (Exception)` block, which calls `select(ctx, null)` - this is the default `SslContext`. Fallback to default on parse failure is a problem when per-SNI selection is the sole mTLS gate. ### Impact SNI routing bypass. Escalates to an unauthenticated mTLS bypass only when: - mTLS is enforced solely via per-SNI SslContext (clientAuth=REQUIRE) - the default/fallback SslContext is permissive (clientAuth=NONE/OPTIONAL) - no secondary peer-certificate verification exists at the application layer.

Advisory Timeline

  • First published September 8, 2026 (34 days ago).
  • Last revised September 8, 2026 — 0 days after initial publication.

Remediation

Upgrade to the fixed version using your package manager.

Maven
Update io.netty:netty-handler to 4.2.17.Final or later
<!-- Update pom.xml dependency version to 4.2.17.Final for io.netty:netty-handler -->
Maven
Update io.netty:netty-handler to 4.1.137.Final or later
<!-- Update pom.xml dependency version to 4.1.137.Final for io.netty:netty-handler -->

After upgrading, run your dependency scanner again to confirm the vulnerability is resolved.

Affected Packages (2)

Affects 1 ecosystem: maven (1).

PackageEcosystemAffectedFixed In
io.netty:netty-handler
maven
4.2.0.Final, 4.2.1.Final, 4.2.10.Final, 4.2.11.Final (+13 more)4.2.17.Final
io.netty:netty-handler
maven
4.0.0.Alpha1, 4.0.0.Alpha2, 4.0.0.Alpha3, 4.0.0.Alpha4 (+226 more)4.1.137.Final

Vulnerability Classification

Common Weakness Enumeration (CWE) identifiers for this vulnerability type.

CVSS Score Breakdown

What the CVSS (Common Vulnerability Scoring System) 8.6 score means for each attack dimension.

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
—
Confidentiality
—
Integrity
—
Availability
—

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

Frequently Asked Questions

What is CVE-2026-75595?
Netty: SNI Routing Bypass via Fragmented TLS ClientHello Causing Fallback to Default SslContext This vulnerability has been assigned a severity rating of CRITICAL (CVSS score: 8.6/10).
How do I check if my project is affected by CVE-2026-75595?
CVE-2026-75595 affects io.netty:netty-handler. Use GeekWala's free vulnerability scanner to check your dependencies against CVE-2026-75595 and 200,000+ other known vulnerabilities.

Severity & Exploitability

CVSS Score
8.6

High exploitability or significant impact. Prioritize remediation within days.

Also Known As

GHSA-c4c3-7fpv-j4q5

Related CVEs

  • CVE-2026-107726
    CRITICAL

    Hazelcast allows arbitrary member memory access by low-privileged client

  • CVE-2026-107282
    CRITICAL

    AsyncHttpClient: Replay to a different host sends the original host request and credentials to the new host

  • CVE-2026-47691
    HIGH

    Netty has Insufficient Bailiwick Validation for NS Records

  • CVE-2026-45674
    HIGH

    Netty Vulnerable to DNS Cache Poisoning via Missing Bailiwick Checks in CNAME Records

  • CVE-2026-48040
    MEDIUM

    netty-incubator-codec-ohttp's Incorrect Native Pointer Derivation in Pooled Direct ByteBuf Fallback Leads to Out-of-Bounds Native Memory Access

Check if you're affected

Scan your dependencies to see if this vulnerability affects your projects.

Scan Your Dependencies