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
Czego dotyczy
Kliknij technologię, aby zobaczyć wszystkie dotyczące jej podatności.
| Platforma | Paczka | Podatne wersje | Poprawka w wersji |
|---|---|---|---|
| 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 |
Odnośniki
- 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
- Wektor CVSS
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L- Słabość (CWE)
CWE-400, CWE-770- Platforma
- Java / Kotlin (Maven)
- Paczka
org.eclipse.jetty:jetty-server- Ujawniono
- 19.04.2023
- Aktualizacja
- 11.10.2026 13:20
Źródła i licencje
OSV / GitHub Advisory Database - GHSA-qw69-rqj8-6qw8 - CC BY 4.0
Historia podatności: org.eclipse.jetty:jetty-server
Wszystkie opisane podatności tej paczki (Java / Kotlin (Maven)), od najnowszej. Widać, czy to jednorazowa wpadka, czy paczka, której trzeba pilnować.
- Wszystkich wpisów
- 29
- Pierwsza → ostatnia
- 10.2018 07.2026
- Bez poprawki
- 0
- Wykorzystywana w atakach
- 0
Rozkład istotności
- Krytyczna 4
- Wysoka 10
- Średnia 13
- Niska 2
Ujawnienia w latach
- 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 ten wpis
Dowiedz się, które podatności dotyczą Twojej aplikacji
Po podłączeniu integracji DockRay i włączeniu raportowania oprogramowania DockRay porównuje zgłoszone wersje komponentów ze znanymi podatnościami i powiadamia o potwierdzonych dopasowaniach. Zakres zależy od obsługiwanej technologii i dostępnych biuletynów.