Allocation of Resources Without Limits or Throttling
CVE-2026-45416
Summary
Netty is a network application framework for development of protocol servers and clients. In netty-handler versions through 4.1.134.Final, 4.2.x through 4.2.14.Final and 5.x through 5.0.0.Alpha2, '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.
- LOW
- NETWORK
- NONE
- UNCHANGED
- NONE
- NONE
- NONE
- HIGH
CWE-770 - Allocation of Resources Without Limits or Throttling
The software allocates a reusable resource or group of resources on behalf of an actor without imposing any restrictions on the size or number of resources that can be allocated, in violation of the intended security policy for that actor.
References
Advisory Timeline
- Published