CVE Catalog

CVE-2026-45416

HighCVSS 7.5
Published: Updated: Translated: NVD NIST

Exploitation Probability (EPSS)

Elevated risk
0.86%

56th percentile - higher than 56% of all known CVEs

Summary

In Netty prior to versions 4.1.135.Final and 4.2.15.Final, the SslClientHelloHandler.decode() method is vulnerable to excessive memory allocation. When the ClientHello does not fit in the first record, the handler allocates a buffer of handshakeLength size, and default SniHandler/AbstractSniHandler constructors disable safeguards (maxClientHelloLength=0, handshakeTimeoutMillis=0). A 16 MiB request triggers immediate huge/unpooled allocation, retained until the channel closes.

Risk Assessment

An attacker can remotely cause server memory exhaustion (DoS) by sending a crafted TLS ClientHello request, potentially leading to denial of service.

Recommendation

Upgrade Netty to version 4.1.135.Final or 4.2.15.Final immediately, which contain the fix.

Other vulnerabilities in Netty

See all
Original NVD description (English source)

Netty is a network application framework for development of protocol servers and clients. Prior to versions 4.1.135.Final and 4.2.15.Final, SslClientHelloHandler.decode() reads the 24-bit TLS handshake length and, when the ClientHello does not fit in the first record, eagerly allocates `ctx.alloc().buffer(handshakeLength)` (line 161). The guard at line 140 is `handshakeLength > maxClientHelloLength && maxClientHelloLength != 0`, and the commonly-used SniHandler/AbstractSniHandler constructors (SniHandler(Mapping), SniHandler(AsyncMapping), AbstractSniHandler()) pass maxClientHelloLength=0 and handshakeTimeoutMillis=0, so the length guard is disabled and no timeout is scheduled. A 16 MiB request exceeds the default pooled chunk size and becomes a huge/unpooled allocation performed immediately. The buffer is retained in the handler until the channel closes. Versions 4.1.135.Final and 4.2.15.Final patch the issue.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS