Krytyczna

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

  • Ujawniono: 08.09.2026
  • Aktualizacja: 11.10.2026 13:19

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.

Czego dotyczy

Kliknij technologię, aby zobaczyć wszystkie dotyczące jej podatności.

PlatformaPaczkaPodatne wersjePoprawka w wersji
Java / Kotlin (Maven) io.netty:netty-handler >= 4.2.0.Final, < 4.2.17.Final, < 4.1.137.Final 4.2.17.Final, 4.1.137.Final

Odnośniki

Ocena CVSS -
Wektor CVSS
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
Słabość (CWE)
CWE-475, CWE-754
Platforma
Java / Kotlin (Maven)
Paczka
io.netty:netty-handler
Ujawniono
08.09.2026
Aktualizacja
11.10.2026 13:19

Źródła i licencje

OSV / GitHub Advisory Database - GHSA-c4c3-7fpv-j4q5 - CC BY 4.0

Historia podatności: io.netty:netty-handler

Wszystkie opisane podatności tej paczki (Java / Kotlin (Maven)), od najnowszej. Widać, czy to jednorazowa wpadka, czy paczka, której trzeba pilnować.

Wszystkie (12) w archiwum
Wszystkich wpisów
12
Pierwsza → ostatnia
02.2020 09.2026
Bez poprawki
0
Wykorzystywana w atakach
0

Rozkład istotności

  • Krytyczna 1
  • Wysoka 7
  • Średnia 4

Ujawnienia w latach

  1. 2020: 4
  2. 2021: 0
  3. 2022: 1
  4. 2023: 1
  5. 2024: 0
  6. 2025: 1
  7. 2026: 5
Istotność:
  1. Netty: SNI Routing Bypass via Fragmented TLS ClientHello Causing Fallback to Default SslContext ten wpis
    Krytyczna CVE-2026-75595 >= 4.2.0.Final, < 4.2.17.Final, < 4.1.137.Final 4.2.17.Final, 4.1.137.Final
  2. Wysoka · 7.5 CVE-2026-50010 >= 4.2.0.Final, < 4.2.15.Final, < 4.1.135.Final 4.2.15.Final, 4.1.135.Final
  3. Wysoka · 7.5 CVE-2026-45416 >= 4.2.0.Final, < 4.2.15.Final, < 4.1.135.Final 4.2.15.Final, 4.1.135.Final
  4. Wysoka · 8.1 CVE-2026-44249 >= 4.2.0.Final, < 4.2.15.Final, < 4.1.135.Final 4.2.15.Final, 4.1.135.Final
  5. Wysoka · 7.5 CVE-2025-24970 >= 4.1.91.Final, < 4.1.118.Final 4.1.118.Final
  6. Wysoka · 7.5 CVE-2016-4970 >= 4.0.0.Alpha1, < 4.0.37.Final, >= 4.1.0.Beta1, < 4.1.1.Final 4.0.37.Final, 4.1.1.Final
  7. Wysoka · 7.5 CVE-2020-11612 >= 4.1.0, < 4.1.46 4.1.46
  8. Wysoka · 7.5 CVE-2020-7238 >= 4.1.43, < 4.1.45 4.1.45

Dowiedz się, które podatności dotyczą Twojej aplikacji

Po podłączeniu integracji DockRay i włączeniu raportowania oprogramowania DockRay porównuje zgłoszone wersje komponentów ze znanymi podatnościami i powiadamia o potwierdzonych dopasowaniach. Zakres zależy od obsługiwanej technologii i dostępnych biuletynów.

Podłącz swoją aplikację
Newsletter DockRay

Bezpieczeństwo aplikacji w Twojej skrzynce

Najważniejsze podatności, konkretne zalecenia i praktyczne wskazówki dla Twoich aplikacji. Wybierz technologie i śledź to, co ma znaczenie dla Twojego projektu.

  • Codzienne zestawienie nowych podatności, także krytycznych.
  • Powiadomienia o ważnych aktualizacjach.
  • Praktyczne porady o bezpieczeństwie i monitoringu aplikacji.

Pozostaw puste, aby otrzymywać informacje o wszystkich technologiach.

Zapis jest bezpłatny. Wypiszesz się jednym kliknięciem w wiadomości.