CVE-2026-45416
Netty: SNI handler pre-allocates up to 16 MiB from nine attacker bytes
- State
- Published
- Severity
- 7.5 High
- Published
- Jun 12, 2026
- Updated
- Sep 18, 2026
- Reserved
- May 12, 2026
Description
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.
Scores
| CVSS | Score | Vector | Source |
|---|---|---|---|
| 3.1 | 7.5 High | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H | GitHub_M |
| 3.1 | 7.5 High | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H | redhat-SADP |
Weaknesses
- CWE-770 Allocation of Resources Without Limits or Throttling
Affected Products
| Product | Versions |
|---|---|
nettynetty |
|
References
- https://github.com/netty/netty/security/advisories/GHSA-x4gw-5cx5-pgmh
- https://github.com/netty/netty/releases/tag/netty-4.1.135.Final
- https://github.com/netty/netty/releases/tag/netty-4.2.15.Final
- https://access.redhat.com/security/cve/CVE-2026-45416vdb-entry
- RHBZ#2488391issue-tracking
- https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-45416.json
- https://access.redhat.com/errata/RHSA-2026:49700vendor-advisory
- https://access.redhat.com/errata/RHSA-2026:53644vendor-advisory
- https://access.redhat.com/errata/RHSA-2026:53645vendor-advisory
- https://access.redhat.com/errata/RHSA-2026:48151vendor-advisory
- https://access.redhat.com/errata/RHSA-2026:53646vendor-advisory
- https://access.redhat.com/errata/RHSA-2026:66545vendor-advisory
- https://access.redhat.com/errata/RHSA-2026:66488vendor-advisory
- https://access.redhat.com/errata/RHSA-2026:26586vendor-advisory
- https://access.redhat.com/errata/RHSA-2026:41951vendor-advisory
- https://access.redhat.com/errata/RHSA-2026:50085vendor-advisory
- https://access.redhat.com/errata/RHSA-2026:49701vendor-advisory
- https://access.redhat.com/errata/RHSA-2026:28573vendor-advisory
- https://access.redhat.com/errata/RHSA-2026:65126vendor-advisory
- https://access.redhat.com/errata/RHSA-2026:62260vendor-advisory
- https://access.redhat.com/errata/RHSA-2026:37390vendor-advisory
- https://access.redhat.com/errata/RHSA-2026:26018vendor-advisory
- https://access.redhat.com/errata/RHSA-2026:26017vendor-advisory
- https://access.redhat.com/errata/RHSA-2026:34608vendor-advisory
- https://access.redhat.com/errata/RHSA-2026:54435vendor-advisory
Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.