Jetty vulnerable to authorization bypass due to inconsistent HTTP request handling (HTTP Request Smuggling)
Critical severity
GitHub Reviewed
Published
Oct 19, 2018
to the GitHub Advisory Database
•
Updated Mar 9, 2023
Package
Affected versions
< 9.2.25.v20180606
>= 9.3.0, < 9.3.24.v20180605
>= 9.4.0, < 9.4.11.v20180605
Patched versions
9.2.25.v20180606
9.3.24.v20180605
9.4.11.v20180605
Description
Published by the National Vulnerability Database
Jun 26, 2018
Published to the GitHub Advisory Database
Oct 19, 2018
Reviewed
Jun 16, 2020
Last updated
Mar 9, 2023
Eclipse Jetty Server versions 9.2.x and older, 9.3.x (all non HTTP/1.x configurations), and 9.4.x (all HTTP/1.x configurations), are vulnerable to HTTP Request Smuggling when presented with two content-lengths headers, allowing authorization bypass. When presented with a content-length and a chunked encoding header, the content-length was ignored (as per RFC 2616). If an intermediary decides on the shorter length, but still passes on the longer body, then body content could be interpreted by Jetty as a pipelined request. If the intermediary is imposing authorization, the fake pipelined request bypasses that authorization.
References