{"id":"CVE-2024-53677","aliases":["CLSA-2025-1754006617","EUVD-2024-3418","GHSA-43mq-6xmg-29vm"],"status":"published","title":"Apache Struts: Mixing setters for uploaded files and normal fields can allow bypass file upload checks","description":"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.\n\nThis issue affects Apache Struts: from 2.0.0 before 6.4.0.\n\nUsers 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.\n\nYou can find more details in  https://cwiki.apache.org/confluence/display/WW/S2-067","severity":{"version":"4.0","score":9.5,"vector":"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","level":"critical","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-09","score":0.72367,"percentile":0.99442,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":true,"fix_available":true},"cwes":["CWE-22","CWE-434","CWE-915"],"published":"2024-12-11T15:35:43Z","modified":"2026-11-03T21:52:43Z","exploits":[{"source":"pocgithub","id":"cloudwafs/s2-067-CVE-2024-53677","title":"cloudwafs/s2-067-CVE-2024-53677","date":"2024-12-12","url":"https://github.com/cloudwafs/s2-067-CVE-2024-53677"},{"source":"pocgithub","id":"TAM-K592/CVE-2024-53677-S2-067","title":"TAM-K592/CVE-2024-53677-S2-067","date":"2024-12-13","url":"https://github.com/TAM-K592/CVE-2024-53677-S2-067"},{"source":"pocgithub","id":"c4oocO/CVE-2024-53677-Docker","title":"c4oocO/CVE-2024-53677-Docker","date":"2024-12-17","url":"https://github.com/c4oocO/CVE-2024-53677-Docker"},{"source":"pocgithub","id":"yangyanglo/CVE-2024-53677","title":"yangyanglo/CVE-2024-53677","date":"2024-12-17","url":"https://github.com/yangyanglo/CVE-2024-53677"},{"source":"pocgithub","id":"dustblessnotdust/CVE-2024-53677-S2-067-thread","title":"dustblessnotdust/CVE-2024-53677-S2-067-thread","date":"2024-12-18","url":"https://github.com/dustblessnotdust/CVE-2024-53677-S2-067-thread"},{"source":"pocgithub","id":"hiteshpatra/CVE-2024-53677","title":"hiteshpatra/CVE-2024-53677","date":"2024-12-23","url":"https://github.com/hiteshpatra/CVE-2024-53677"},{"source":"pocgithub","id":"EQSTLab/CVE-2024-53677","title":"EQSTLab/CVE-2024-53677","date":"2025-01-03","url":"https://github.com/EQSTLab/CVE-2024-53677"},{"source":"pocgithub","id":"0xPThree/struts_cve-2024-53677","title":"0xPThree/struts_cve-2024-53677","date":"2025-01-07","url":"https://github.com/0xPThree/struts_cve-2024-53677"},{"source":"pocgithub","id":"SeanRickerd/CVE-2024-53677","title":"SeanRickerd/CVE-2024-53677","date":"2025-01-10","url":"https://github.com/SeanRickerd/CVE-2024-53677"},{"source":"pocgithub","id":"hopsypopsy8/CVE-2024-53677-Exploitation","title":"hopsypopsy8/CVE-2024-53677-Exploitation","date":"2025-02-13","url":"https://github.com/hopsypopsy8/CVE-2024-53677-Exploitation"},{"source":"pocgithub","id":"shishirghimir/CVE-2024-53677-Exploit","title":"shishirghimir/CVE-2024-53677-Exploit","date":"2025-02-24","url":"https://github.com/shishirghimir/CVE-2024-53677-Exploit"},{"source":"pocgithub","id":"BuludX/CVE-2024-53677","title":"BuludX/CVE-2024-53677","date":"2025-05-20","url":"https://github.com/BuludX/CVE-2024-53677"},{"source":"pocgithub","id":"r007sec/CVE-2024-53677","title":"r007sec/CVE-2024-53677","date":"2025-06-03","url":"https://github.com/r007sec/CVE-2024-53677"},{"source":"pocgithub","id":"Cythonic1/CVE-2024-53677-POC","title":"Cythonic1/CVE-2024-53677-POC","date":"2025-09-01","url":"https://github.com/Cythonic1/CVE-2024-53677-POC"},{"source":"pocgithub","id":"seoyoung-kang/CVE-2024-53677","title":"seoyoung-kang/CVE-2024-53677","date":"2025-10-15","url":"https://github.com/seoyoung-kang/CVE-2024-53677"},{"source":"pocgithub","id":"sangrok-jeon/CVE-2024-53677-Analysis","title":"sangrok-jeon/CVE-2024-53677-Analysis","date":"2026-03-18","url":"https://github.com/sangrok-jeon/CVE-2024-53677-Analysis"},{"source":"pocgithub","id":"ctfsec/CVE-2024-53677","title":"ctfsec/CVE-2024-53677","date":"2026-05-02","url":"https://github.com/ctfsec/CVE-2024-53677"},{"source":"pocgithub","id":"choyj358/cve-2024-53677","title":"choyj358/cve-2024-53677","date":"2026-10-13","url":"https://github.com/choyj358/cve-2024-53677"}],"fixes":[{"ecosystem":"Maven","package":"org.apache.struts:struts2-core","fixed_in":["6.4.0"],"sources":["ghsa","osv"]},{"ecosystem":"TuxCare:Maven","package":"org.apache.struts:struts2-core","fixed_in":["2.5.33-tuxcare.1"],"sources":["osv"]}],"affected":[{"source":"ghsa","ecosystem":"Maven","package":"org.apache.struts:struts2-core","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"6.4.0"}]}]},{"source":"osv","ecosystem":"TuxCare:Maven","package":"org.apache.struts:struts2-core","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"2.5.33"},{"fixed":"2.5.33-tuxcare.1"}]}],"versions":["2.5.33"]},{"source":"osv","ecosystem":"Maven","package":"org.apache.struts:struts2-core","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"6.4.0"}]}],"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.31","2.5.32","2.5.33","2.5.5","2.5.8","6.0.0","6.0.3","6.1.1","6.1.2","6.1.2.1","6.1.2.2","6.2.0","6.3.0","6.3.0.1","6.3.0.2"]}],"products":[{"vendor":"apache","product":"struts"},{"vendor":"apache software foundation","product":"apache struts"}],"references":[{"url":"https://cwiki.apache.org/confluence/display/WW/S2-067","tags":["vendor-advisory","Third Party Advisory","advisory","web"]},{"url":"https://security.netapp.com/advisory/ntap-20250103-0005/","tags":["Third Party Advisory","advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2024-53677","tags":["advisory"]},{"url":"https://struts.apache.org/core-developers/file-upload","tags":["web"]},{"url":"https://security.netapp.com/advisory/ntap-20250103-0005","tags":["web"]},{"url":"https://github.com/apache/struts/commit/1ecfbae46543a83e131404f8dcc84b3d0d554854","tags":["web"]},{"url":"https://github.com/apache/struts/commit/3ef9ade8902a63bb560892453eeca02bfddefc78","tags":["web"]},{"url":"https://github.com/apache/struts/commit/930fef7679d7247db9e460c146b1698a9d7ad1e4","tags":["web"]},{"url":"https://www.dynatrace.com/news/blog/the-anatomy-of-broken-apache-struts-2-a-technical-deep-dive-into-cve-2024-53677","tags":["web"]},{"url":"https://github.com/advisories/GHSA-43mq-6xmg-29vm"},{"url":"https://repo.maven.apache.org/maven2","tags":["web"]},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2024/53xxx/CVE-2024-53677.json","tags":["advisory"]},{"url":"https://github.com/apache/struts","tags":["package"]}],"sources":{"cve":[{"id":"CVE-2024-53677","title":"Apache Struts: Mixing setters for uploaded files and normal fields can allow bypass file upload checks","description":"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.\n\nThis issue affects Apache Struts: from 2.0.0 before 6.4.0.\n\nUsers 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.\n\nYou can find more details in  https://cwiki.apache.org/confluence/display/WW/S2-067","status":"published","published":"2024-12-11T15:35:43.389Z","modified":"2026-11-04T00:07:36.407Z","cvss":[{"version":"4.0","score":9.5,"vector":"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","level":"critical","assessor":"cna"}],"cwes":["CWE-434"],"updated_at":"2026-11-04T01:48:19.902761Z"}],"euvd":[{"id":"EUVD-2024-3418","description":"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.\n\nThis issue affects Apache Struts: from 2.0.0 before 6.4.0.\n\nUsers 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.\n\nYou can find more details in  https://cwiki.apache.org/confluence/display/WW/S2-067","status":"published","published":"2024-12-11T15:35:43Z","modified":"2026-11-04T00:07:36Z","cvss":[{"version":"4.0","score":9.5,"vector":"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","level":"critical"}],"updated_at":"2026-11-04T02:55:42.668573Z"}],"ghsa":[{"id":"GHSA-43mq-6xmg-29vm","title":"Apache Struts file upload logic is flawed","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.\n\nThis issue affects Apache Struts: from 2.0.0 before 6.4.0.\n\nUsers 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.\n\nYou can find more details in  https://cwiki.apache.org/confluence/display/WW/S2-067 .","status":"published","published":"2024-12-11T18:30:42Z","modified":"2025-07-15T23:05:25Z","cvss":[{"version":"4.0","score":9.5,"vector":"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","level":"critical"},{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical"}],"cwes":["CWE-22","CWE-434","CWE-915"],"updated_at":"2026-11-02T14:38:50.834587Z"}],"nvd":[{"id":"CVE-2024-53677","description":"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.\n\nThis issue affects Apache Struts: from 2.0.0 before 6.4.0.\n\nUsers 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.\n\nYou can find more details in  https://cwiki.apache.org/confluence/display/WW/S2-067","status":"published","published":"2024-12-11T16:15:14.593Z","modified":"2026-11-03T22:17:27.083Z","cvss":[{"version":"4.0","score":9.5,"vector":"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/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:N/AU:Y/R:A/V:C/RE:L/U:Red","level":"critical","assessor":"secondary"},{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical","assessor":"primary"}],"cwes":["CWE-434"],"updated_at":"2026-11-04T00:47:54.173626Z"}],"osv":[{"id":"CVE-2024-53677","title":"Apache Struts: Mixing setters for uploaded files and normal fields can allow bypass file upload checks","description":"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.\n\nThis issue affects Apache Struts: from 2.0.0 before 6.4.0.\n\nUsers 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.\n\nYou can find more details in  https://cwiki.apache.org/confluence/display/WW/S2-067","status":"published","published":"2024-12-11T15:35:43.389Z","modified":"2026-11-05T02:30:52.542101878Z","cvss":[{"version":"4.0","score":9.5,"vector":"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","level":"critical"}],"updated_at":"2026-11-07T03:07:54.590815Z"},{"id":"GHSA-43mq-6xmg-29vm","title":"Apache Struts file upload logic is flawed","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.\n\nThis issue affects Apache Struts: from 2.0.0 before 6.4.0.\n\nUsers 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.\n\nYou can find more details in  https://cwiki.apache.org/confluence/display/WW/S2-067 .","status":"published","published":"2024-12-11T18:30:42Z","modified":"2025-07-15T23:35:35.866964Z","cvss":[{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical"},{"version":"4.0","score":9.5,"vector":"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","level":"critical"}],"cwes":["CWE-22","CWE-434","CWE-915"],"updated_at":"2026-11-02T15:46:36.434231Z"},{"id":"CLSA-2025-1754006617","title":"TuxCare security update for org.apache.struts:struts2-core (1 CVE)","description":"TuxCare rebuilt org.apache.struts:struts2-core to address 1 CVE. Fixed in 2.5.33-tuxcare.1.","status":"published","published":"2026-08-04T14:52:04Z","modified":"2026-11-02T19:45:08.438500041Z","updated_at":"2026-11-02T20:30:40.499236Z"}]}}
