Jetty vulnerable to Invalid HTTP/2 requests that can lead to denial of service
Package
Affected versions
< 9.4.47
>= 10.0.0, < 10.0.10
>= 11.0.0, < 11.0.10
Patched versions
9.4.47
10.0.10
11.0.10
Description
Published to the GitHub Advisory Database
Jul 7, 2022
Reviewed
Jul 7, 2022
Published by the National Vulnerability Database
Jul 7, 2022
Last updated
Jul 24, 2023
Description
Invalid HTTP/2 requests (for example, invalid URIs) are incorrectly handled by writing a blocking error response directly from the selector thread.
If the client manages to exhaust the HTTP/2 flow control window, or TCP congest the connection, the selector thread will be blocked trying to write the error response.
If this is repeated for all the selector threads, the server becomes unresponsive, causing the denial of service.
Impact
A malicious client may render the server unresponsive.
Patches
The fix is available in Jetty versions 9.4.47. 10.0.10, 11.0.10.
Workarounds
No workaround available within Jetty itself.
One possible workaround is to filter the requests before sending them to Jetty (for example in a proxy)
For more information
If you have any questions or comments about this advisory:
References