apache/struts · Security
Apache Struts file upload logic is flawed
- GHSA ID
- GHSA-43mq-6xmg-29vm
- CVE ID
- CVE-2024-53677
- Severity
- critical
- Published
- Updated
- CVSS
- 9.8 · CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
- CVSS v3
- 9.8 · CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
- CVSS v4
- 9.5 · CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H/S:N/AU:Y/R:A/V:C/RE:L/U:Red
Description
File upload logic is flawed vulnerability in Apache Struts. An attacker can manipulate file upload params to enable paths traversal and under some circumstances this can lead to uploading a malicious file which can be used to perform Remote Code Execution.
This issue affects Apache Struts: from 2.0.0 before 6.4.0.
Users are recommended to upgrade to version 6.4.0 at least and migrate to the new file upload mechanism https://struts.apache.org/core-developers/file-upload. If you are not using an old file upload logic based on FileuploadInterceptor your application is safe.
You can find more details in https://cwiki.apache.org/confluence/display/WW/S2-067 .
CWEs
- CWE-22 · Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')
- CWE-434 · Unrestricted Upload of File with Dangerous Type
- CWE-915 · Improperly Controlled Modification of Dynamically-Determined Object Attributes
References
- https://nvd.nist.gov/vuln/detail/CVE-2024-53677 ↗
- https://cwiki.apache.org/confluence/display/WW/S2-067 ↗
- https://struts.apache.org/core-developers/file-upload ↗
- https://security.netapp.com/advisory/ntap-20250103-0005 ↗
- https://github.com/apache/struts/commit/1ecfbae46543a83e131404f8dcc84b3d0d554854 ↗
- https://github.com/apache/struts/commit/3ef9ade8902a63bb560892453eeca02bfddefc78 ↗
- https://github.com/apache/struts/commit/930fef7679d7247db9e460c146b1698a9d7ad1e4 ↗
- https://www.dynatrace.com/news/blog/the-anatomy-of-broken-apache-struts-2-a-technical-deep-dive-into-cve-2024-53677 ↗
- https://github.com/advisories/GHSA-43mq-6xmg-29vm ↗