Loading HuntDB...

GHSA-qw69-rqj8-6qw8

GitHub Security Advisory

OutOfMemoryError for large multipart without filename in Eclipse Jetty

✓ GitHub Reviewed MODERATE Has CVE

Advisory Details

### Impact
Servlets with multipart support (e.g. annotated with `@MultipartConfig`) that call `HttpServletRequest.getParameter()` or `HttpServletRequest.getParts()` may cause `OutOfMemoryError` when the client sends a multipart request with a part that has a name but no filename and a very large content.

This happens even with the default settings of `fileSizeThreshold=0` which should stream the whole part content to disk.

An attacker client may send a large multipart request and cause the server to throw `OutOfMemoryError`.
However, the server may be able to recover after the `OutOfMemoryError` and continue its service -- although it may take some time.

A very large number of parts may cause the same problem.

### Patches
Patched in Jetty versions

* 9.4.51.v20230217 - via PR #9345
* 10.0.14 - via PR #9344
* 11.0.14 - via PR #9344

### Workarounds
Multipart parameter `maxRequestSize` must be set to a non-negative value, so the whole multipart content is limited (although still read into memory).
Limiting multipart parameter `maxFileSize` won't be enough because an attacker can send a large number of parts that summed up will cause memory issues.

### References
* https://github.com/eclipse/jetty.project/issues/9076
* https://github.com/jakartaee/servlet/blob/6.0.0/spec/src/main/asciidoc/servlet-spec-body.adoc#32-file-upload

Affected Packages

Maven org.eclipse.jetty:jetty-server
Affected versions: 0 (fixed in 9.4.51.v20230217)
Maven org.eclipse.jetty:jetty-server
Affected versions: 10.0.0 (fixed in 10.0.14)
Maven org.eclipse.jetty:jetty-server
Affected versions: 11.0.0 (fixed in 11.0.14)

Related CVEs

Key Information

GHSA ID
GHSA-qw69-rqj8-6qw8
Published
April 19, 2023 6:15 PM
Last Modified
April 19, 2023 6:15 PM
CVSS Score
5.0 /10
Primary Ecosystem
Maven
Primary Package
org.eclipse.jetty:jetty-server
GitHub Reviewed
✓ Yes

Dataset

Last updated: July 12, 2025 6:29 AM

Data from GitHub Advisory Database. This information is provided for research and educational purposes.