[Bug 571128] Jetty DOS vulnerability for Quoted Quality CSV headers
Bugzilla Link | 571128 |
Status | NEW |
Importance | P3 normal |
Reported | Feb 11, 2021 10:02 EDT |
Modified | Mar 16, 2021 12:03 EDT |
Description
In Eclipse Jetty 9.4.6.v20170531 to 9.4.36.v20210114, 10.0.0, and 11.0.0 when Jetty handles a request containing multiple Accept headers with a large number of “quality” (i.e. q) parameters, the server may enter a denial of service (DoS) state due to high CPU usage processing those quality values, resulting in minutes of CPU time exhausted processing those quality values.
This impacts many users of Eclipse Jetty Server.
Workarounds
Quality ordered values are used infrequently by jetty so they can be avoided by:
Do not use the default error page/handler.
Do not deploy the StatisticsServlet exposed to the network.
Do not call getLocale API.
Do not enable pre-compressed static content in the DefaultServlet.
Alternately, I rewrite rule can be deployed to limit the number and size of Accept-* fields in the header.
CWEs
CWE-407
CVSS Score
5.3 Moderate
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
We are currently working on patches for this and will let you know when they are available.