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.
A malicious client may render the server unresponsive.
The fix is available in Jetty versions 9.4.47. 10.0.10, 11.0.10.
No workaround available within Jetty itself. One possible workaround is to filter the requests before sending them to Jetty (for example in a proxy)
If you have any questions or comments about this advisory: * Email us at security@webtide.com.