GHSA-x4gw-5cx5-pgmh

    Dashboard / Vulnerabilities / GHSA-x4gw-5cx5-pgmh

    GHSA-x4gw-5cx5-pgmh

    Published: 8 Jun 2026Last Modified: 10 Sept 2026

    Summary: Netty: SNI handler pre-allocates up to 16 MiB from nine attacker bytes

    Details: 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.

    Affected packages

    Package

    Name: io.netty:netty-handler

    Purl: pkg:maven/io.netty/netty-handler

    Affected ranges

    Type: ECOSYSTEM

    Events:

    Introduced- 4.2.0.Final
    Fixed -4.2.15.Final

    Affected versions

    4.2.0.Final
    4.2.1.Final
    4.2.10.Final
    4.2.11.Final
    4.2.12.Final
    4.2.13.Final
    4.2.14.Final
    4.2.2.Final
    4.2.3.Final
    4.2.4.Final
    4.2.5.Final
    4.2.6.Final
    4.2.7.Final
    4.2.8.Final
    4.2.9.Final

    Common Vulnerability Scoring System

    Attack Vector
    Network
    Adjacent
    Local
    Physical
    Privileges Required
    None
    Low
    High
    User Interaction
    None
    Required
    Scope
    Unchanged
    Changed
    Confidentiality
    None
    Low
    High
    Integrity
    None
    Low
    High
    Availability
    None
    Low
    High
    GHSA-x4gw-5cx5-pgmh | CVE-DB