{"id":"CVE-2026-45416","aliases":["GHSA-x4gw-5cx5-pgmh"],"url":"https://o3.security/vulnerability/CVE-2026-45416","summary":"Netty: SNI handler pre-allocates up to 16 MiB from nine attacker bytes","details":"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.","published":"2026-06-12T14:10:05.585Z","modified":"2026-08-12T03:51:48.089398286Z","cvss":{"score":7.5,"severity":"HIGH","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"},"epss":{"score":0.00856,"percentile":0.55145,"asOf":"2026-08-12"},"cisaKev":null,"exploitsKnown":0,"affectedPackages":[{"ecosystem":"Maven","name":"io.netty:netty-handler","fixedVersion":"4.2.15.Final"},{"ecosystem":"Maven","name":"io.netty:netty-handler","fixedVersion":"4.1.135.Final"}],"fix":null,"references":[{"type":"WEB","url":"https://github.com/netty/netty/releases/tag/netty-4.1.135.Final"},{"type":"WEB","url":"https://github.com/netty/netty/releases/tag/netty-4.2.15.Final"},{"type":"WEB","url":"https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-45416.json"},{"type":"ADVISORY","url":"https://access.redhat.com/errata/RHSA-2026:26017"},{"type":"ADVISORY","url":"https://access.redhat.com/errata/RHSA-2026:26018"},{"type":"ADVISORY","url":"https://access.redhat.com/errata/RHSA-2026:26586"},{"type":"ADVISORY","url":"https://access.redhat.com/errata/RHSA-2026:28573"},{"type":"ADVISORY","url":"https://access.redhat.com/errata/RHSA-2026:34608"},{"type":"ADVISORY","url":"https://access.redhat.com/errata/RHSA-2026:37390"},{"type":"ADVISORY","url":"https://access.redhat.com/errata/RHSA-2026:41951"},{"type":"ADVISORY","url":"https://access.redhat.com/errata/RHSA-2026:48151"},{"type":"ADVISORY","url":"https://access.redhat.com/errata/RHSA-2026:49700"},{"type":"ADVISORY","url":"https://access.redhat.com/errata/RHSA-2026:49701"},{"type":"ADVISORY","url":"https://access.redhat.com/security/cve/CVE-2026-45416"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/45xxx/CVE-2026-45416.json"},{"type":"ADVISORY","url":"https://github.com/netty/netty/security/advisories/GHSA-x4gw-5cx5-pgmh"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-45416"},{"type":"REPORT","url":"https://bugzilla.redhat.com/show_bug.cgi?id=2488391"}],"provenance":{"sources":["OSV.dev","FIRST.org (EPSS)"],"lastVerified":"2026-08-12T03:51:48.089398286Z"}}