{"id":"GHSA-4g42-gqrg-4633","summary":"Apache Struts vulnerable to memory exhaustion","details":"Denial of service via out of memory (OOM) owing to no sanity limit on normal form fields in multipart forms. When a Multipart request has non-file normal form fields, Struts used to bring them into memory as Strings without checking their sizes. This could lead to an OOM if developer has set struts.multipart.maxSize to a value equal or greater than the available memory.\n\nUpgrade to Struts 2.5.31 or 6.1.2.1 or greater","aliases":["CVE-2023-34396"],"modified":"2025-10-14T04:28:12.234675Z","published":"2023-06-14T09:30:42Z","database_specific":{"github_reviewed_at":"2023-06-14T20:16:52Z","nvd_published_at":"2023-06-14T08:15:09Z","cwe_ids":["CWE-770"],"severity":"HIGH","github_reviewed":true},"references":[{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2023-34396"},{"type":"WEB","url":"https://github.com/apache/struts/commit/2d6f1bc0a6f5ac575a56784ac6461816b67c4f21"},{"type":"WEB","url":"https://cwiki.apache.org/confluence/display/WW/S2-064"},{"type":"PACKAGE","url":"https://github.com/apache/struts"},{"type":"WEB","url":"https://github.com/apache/struts/releases/tag/STRUTS_2_5_31"},{"type":"WEB","url":"https://github.com/apache/struts/releases/tag/STRUTS_6_1_2_1"},{"type":"WEB","url":"https://security.netapp.com/advisory/ntap-20230706-0005"},{"type":"WEB","url":"http://www.openwall.com/lists/oss-security/2023/06/14/3"}],"affected":[{"package":{"name":"org.apache.struts:struts2-core","ecosystem":"Maven","purl":"pkg:maven/org.apache.struts/struts2-core"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.5.31"}]}],"versions":["2.0.11","2.0.11.1","2.0.11.2","2.0.12","2.0.14","2.0.5","2.0.6","2.0.8","2.0.9","2.1.2","2.1.6","2.1.8","2.1.8.1","2.2.1","2.2.1.1","2.2.3","2.2.3.1","2.3.1","2.3.1.1","2.3.1.2","2.3.12","2.3.14","2.3.14.1","2.3.14.2","2.3.14.3","2.3.15","2.3.15.1","2.3.15.2","2.3.15.3","2.3.16","2.3.16.1","2.3.16.2","2.3.16.3","2.3.20","2.3.20.1","2.3.20.3","2.3.24","2.3.24.1","2.3.24.3","2.3.28","2.3.28.1","2.3.29","2.3.3","2.3.30","2.3.31","2.3.32","2.3.33","2.3.34","2.3.35","2.3.36","2.3.37","2.3.4","2.3.4.1","2.3.7","2.3.8","2.5","2.5-BETA1","2.5-BETA2","2.5-BETA3","2.5.1","2.5.10","2.5.10.1","2.5.12","2.5.13","2.5.14","2.5.14.1","2.5.16","2.5.17","2.5.18","2.5.2","2.5.20","2.5.22","2.5.25","2.5.26","2.5.27","2.5.28","2.5.28.1","2.5.28.2","2.5.28.3","2.5.29","2.5.30","2.5.5","2.5.8"],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2023/06/GHSA-4g42-gqrg-4633/GHSA-4g42-gqrg-4633.json"}},{"package":{"name":"org.apache.struts:struts2-core","ecosystem":"Maven","purl":"pkg:maven/org.apache.struts/struts2-core"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"6.0.0"},{"fixed":"6.1.2.1"}]}],"versions":["6.0.0","6.0.3","6.1.1","6.1.2"],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2023/06/GHSA-4g42-gqrg-4633/GHSA-4g42-gqrg-4633.json"}},{"package":{"name":"org.apache.struts:struts-core","ecosystem":"Maven","purl":"pkg:maven/org.apache.struts/struts-core"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"last_affected":"1.3.10"}]}],"versions":["1.3.10","1.3.5","1.3.8","1.3.9"],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2023/06/GHSA-4g42-gqrg-4633/GHSA-4g42-gqrg-4633.json"}},{"package":{"name":"struts:struts","ecosystem":"Maven","purl":"pkg:maven/struts/struts"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"last_affected":"1.2.9"}]}],"versions":["1.0.2","1.1","1.1-b2-20021124","1.1-b3","1.1-beta-2","1.1-rc1","1.1-rc2","1.2.2","1.2.4","1.2.7","1.2.8","1.2.9"],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2023/06/GHSA-4g42-gqrg-4633/GHSA-4g42-gqrg-4633.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"}]}