CVE-2023-34149: Apache Struts vulnerable to memory exhaustion
6.5
CVSS Score
3.1
Basic Information
CVE ID
GHSA ID
EPSS Score
0.19709%
CWE
Published
6/14/2023
Updated
2/13/2025
KEV Status
No
Technology
Java
Technical Details
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
| Package Name | Ecosystem | Vulnerable Versions | First Patched Version |
|---|---|---|---|
| org.apache.struts:struts2-core | maven | < 2.5.31 | 2.5.31 |
| org.apache.struts:struts2-core | maven | >= 6.0.0, < 6.1.2.1 | 6.1.2.1 |
Vulnerability Intelligence
Miggo AI
Root Cause Analysis
The vulnerability stems from improper size checking of non-file form fields in multipart requests. The unpatched version of processNormalFormField in JakartaMultiPartRequest.java directly added form field values to memory as Strings without validating their length. The patch introduced a critical size check against maxStringLength (a new configuration parameter), confirming this was the vulnerable point. The function's pre-patch behavior matches the CVE description of uncontrolled memory allocation for form fields.