Eclipse Jetty HTTP/2 client can force the server to allocate a humongous byte buffer that may lead to OoM and subsequently the JVM to exit
Package
Affected versions
>= 12.0.0, <= 12.0.16
Patched versions
12.0.17
Description
Published by the National Vulnerability Database
May 8, 2025
Published to the GitHub Advisory Database
May 8, 2025
Reviewed
May 8, 2025
Last updated
May 8, 2025
Original Report
In Eclipse Jetty versions 12.0.0 to 12.0.16 included, an HTTP/2 client can specify a very large value for the HTTP/2 settings parameter SETTINGS_MAX_HEADER_LIST_SIZE. The Jetty HTTP/2 server does not perform validation on this setting, and tries to allocate a ByteBuffer of the specified capacity to encode HTTP responses, likely resulting in OutOfMemoryError being thrown, or even the JVM process exiting.
Impact
Remote peers can cause the JVM to crash or continuously report OOM.
Patches
12.0.17
Workarounds
No workarounds.
References
jetty/jetty.project#12690
References