Описание
Netty vulnerable to HTTP Request Smuggling due to incorrect chunk size parsing
Summary
Netty's chunk size parser silently overflows int, enabling request smuggling attacks.
Details
io.netty.handler.codec.http.HttpObjectDecoder#getChunkSize silently overflows int.
The size is accumulated as follows:
result *= 16; result += digit;
The result is checked only for negative values. However, with a carefully crafted chunk size, the result can be a valid size.
PoC
The test below shows Netty successfully parsing the second request, demonstrating how an attacker can smuggle a second request inside a chunked body.
Impact
HTTP Request Smuggling: Attacker injects arbitrary HTTP requests
Пакеты
io.netty:netty-codec-http
>= 4.2.0.Alpha1, <= 4.2.12.Final
4.2.13.Final
io.netty:netty-codec-http
<= 4.1.132.Final
4.1.133.Final
Связанные уязвимости
Netty is an asynchronous, event-driven network application framework. Prior to 4.2.13.Final and 4.1.133.Final, Netty's chunk size parser silently overflows int, enabling request smuggling attacks. This vulnerability is fixed in 4.2.13.Final and 4.1.133.Final.
Netty is an asynchronous, event-driven network application framework. Prior to 4.2.13.Final and 4.1.133.Final, Netty's chunk size parser silently overflows int, enabling request smuggling attacks. This vulnerability is fixed in 4.2.13.Final and 4.1.133.Final.
Netty is an asynchronous, event-driven network application framework. Prior to 4.2.13.Final and 4.1.133.Final, Netty's chunk size parser silently overflows int, enabling request smuggling attacks. This vulnerability is fixed in 4.2.13.Final and 4.1.133.Final.
Netty is an asynchronous, event-driven network application framework. ...
Уязвимость компонента обработки HTTP-трафика фреймворка для разработки сетевых приложений, серверов и клиентов протоколов Netty, позволяющая нарушителю проводить спуфинг-атаки