Apache Struts: Mixing setters for uploaded files and normal fields can allow bypass file upload checks
Not confirmed exploited. 2 of 8 rule sources name it; Cloudflare blocks by default.
File upload logic in Apache Struts is flawed. 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… More
File upload logic in Apache Struts is flawed. 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
Edge coverage
Claimed by vendorsAsk Vigil
AI · answers from this pageWorkers AI (Llama 3.3). Can be wrong: check the cited source.
Severity, decoded
CVSS 4.0Exploitable over the network under specific conditions, with no privileges and no user interaction, leading to full loss of confidentiality, integrity and availability; other systems can also be hit (full loss of confidentiality, integrity and availability).
How the score is built
- Attack vectorAn attacker can reach it over the internet; no access to your network needed.Network
- Attack complexityThe attacker must first defeat a security measure, such as address randomisation, or obtain a secret.High
- Attack requirementsThe attack only works under specific conditions, such as a race or a particular setup.Present
- Privileges requiredNo account or login is needed.None
- User interactionNo one has to click or open anything; the attack works on its own.None
- Confidentiality impact (vulnerable system)An attacker can read all data the affected component holds, or the most sensitive parts of it.High
- Integrity impact (vulnerable system)An attacker can change any data or files the affected component protects.High
- Availability impact (vulnerable system)An attacker can take the component down completely or keep it from serving anyone.High
- Confidentiality impact (other systems)Other systems that rely on it can have all their data read.High
- Integrity impact (other systems)Other systems that rely on it can have any data changed.High
- Availability impact (other systems)Other systems that rely on it can be taken down.High
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:RedAlso in the vector: Safety: Negligible · Automatable: Yes · Recovery: Automatic · Value density: Concentrated · Vulnerability response effort: Low · Provider urgency: Red
Public exploit code or a detailed write-up exists, but CISA has not seen attacks.
At least one step needs hands-on work, which slows mass attacks.
A successful attack gives full control over the affected software or all of its data.
Public exploits
None foundNo exploit in Exploit-DB or Metasploit, and no scanner template. That lowers, but doesn't remove, the chance of mass exploitation.
Timeline
- 2024-12-11CVE publishedCVE List
- 2025-01-13Cloudflare ships a ruleApache Struts - Remote Code Execution - CVE:CVE-2024-53677
- 2025-01-21F5 ships a ruleApache Struts 2 File Upload
Vendor statements
QuotedCloudflareWAF Managed Rules
First rule 2025-01-13, 33 days after the CVE was published.
Apache Struts - Remote Code Execution - CVE:CVE-2024-53677. Previous action: Log. New action: Block. New Detection
AWSAWS WAF Managed Rules
We found no public statement from this vendor naming this CVE. That is not proof of no protection: generic rules may still catch it. AWS often describes a vulnerability without naming its CVE (for example "Log4j"). We count only entries that name the CVE, so AWS coverage is understated.
Microsoft AzureFront Door and Application Gateway WAF (DRS)
We found no public statement from this vendor naming this CVE. That is not proof of no protection: generic rules may still catch it. The rule tables name CVEs but carry no dates, so Azure is left out of every time-to-rule figure.
Google CloudCloud Armor preconfigured WAF rules
We found no public statement from this vendor naming this CVE. That is not proof of no protection: generic rules may still catch it. Google names few CVEs: the release notes start in May 2024 and the rules reference lists CVEs without dates. Its cve-canary rules are opt-in.
FastlyNext-Gen WAF virtual patches
The CVE predates the oldest entry in this vendor's public feed, so a rule may exist that we cannot see.
F5Attack signatures (Distributed Cloud WAF)
First rule 2025-01-21, 41 days after the CVE was published.
Added: signature 200007081 "Apache Struts 2 File Upload" (Path Traversal, risk High), systems: Apache Struts. References: CVE-2024-53677.
AkamaiApp & API Protector (Adaptive Security Engine)
This vendor publishes no machine-readable rule changelog we can check.
OWASP CRSCore Rule Set (open source, used inside many WAFs)
We found no public statement from this vendor naming this CVE. That is not proof of no protection: generic rules may still catch it. CRS rarely names CVEs: it relies on generic detections. Our own lab measures what it actually blocks.
Social
No posts seen yet on X, Bluesky, Mastodon, Hacker News or GitHub.