OutOfMemoryError for large multipart without filename in Eclipse Jetty
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
Affected software
Click a technology to see all vulnerabilities affecting it.
| Platform | Package | Vulnerable versions | Fixed in |
|---|---|---|---|
| Java / Kotlin (Maven) | org.eclipse.jetty:jetty-server | < 9.4.51.v20230217, >= 10.0.0, < 10.0.14, >= 11.0.0, < 11.0.14 | 9.4.51.v20230217, 10.0.14, 11.0.14 |
References
- https://github.com/eclipse/jetty.project/security/advisories/GHSA-qw69-rqj8-6qw8
- https://nvd.nist.gov/vuln/detail/CVE-2023-26048
- https://github.com/eclipse/jetty.project/issues/9076
- https://github.com/eclipse/jetty.project/pull/9344
- https://github.com/eclipse/jetty.project/pull/9345
- https://github.com/eclipse/jetty.project
- https://github.com/eclipse/jetty.project/releases/tag/jetty-9.4.51.v20230217
- https://github.com/jakartaee/servlet/blob/6.0.0/spec/src/main/asciidoc/servlet-spec-body.adoc#32-file-upload
- https://lists.debian.org/debian-lts-announce/2023/09/msg00039.html
- https://security.netapp.com/advisory/ntap-20230526-0001
- https://www.debian.org/security/2023/dsa-5507
- CVSS vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L- Weakness (CWE)
CWE-400, CWE-770- Platform
- Java / Kotlin (Maven)
- Package
org.eclipse.jetty:jetty-server- Disclosed
- 19.04.2023
- Updated
- 11.10.2026 13:20
Sources and licenses
OSV / GitHub Advisory Database - GHSA-qw69-rqj8-6qw8 - CC BY 4.0
Vulnerability history: org.eclipse.jetty:jetty-server
All published vulnerabilities of this package (Java / Kotlin (Maven)), newest first. Shows whether this is a one-off slip or a package that needs watching.
- Total entries
- 29
- First → latest
- 10.2018 07.2026
- Without a fix
- 0
- Exploited in attacks
- 0
Severity breakdown
- Critical 4
- High 10
- Medium 13
- Low 2
Disclosures per year
- 2018: 8
- 2019: 5
- 2020: 2
- 2021: 3
- 2022: 3
- 2023: 2
- 2024: 1
- 2025: 1
- 2026: 4
-
OutOfMemoryError for large multipart without filename in Eclipse Jetty this entry
Know which vulnerabilities affect your application
With the DockRay integration and software inventory enabled, DockRay checks reported component versions against known vulnerabilities and notifies you about confirmed matches. Coverage depends on the supported technology and available advisory data.