Apache Struts 2: Remote code execution via Dynamic Method Invocation
Deadline for US federal agencies: 11 Oct 2026
Summary
Apache Struts 2 versions 2.3.20 to 2.3.28 allow remote attackers to execute arbitrary code on the server when Dynamic Method Invocation (DMI) is enabled. The flaw lies in how the framework handles chained expressions with the method: prefix, so a crafted request can be sent without authentication. Huawei products that embed Struts 2 are also affected. CISA lists the vulnerability as known exploited. The CPE data in the CVE record names Huawei Agile Controller-campus Firmware, but the sources identify Apache Struts 2 as the affected product, so asset matching needs verification.
Affected
- Apache Struts 2.3.20 to 2.3.28, except 2.3.20.3 and 2.3.24.3, when Dynamic Method Invocation is enabled (Apache advisory S2-032)
- The NVD description also lists 2.3.19 and up to 2.3.24.1 in the ranges; verify these versions manually
- Huawei products that embed Struts 2 (Huawei advisory huawei-sa-20160527-01); affected versions unknown
Fixed in
- Apache Struts 2.3.20.3
- Apache Struts 2.3.24.3
- Apache Struts 2.3.28.1
- Huawei products: unknown, request fixed versions from Huawei PSIRT
Workaround
- Disable Dynamic Method Invocation: set struts.enable.DynamicMethodInvocation to false in struts.xml and restart the web server
- Alternative (development task): implement a custom ActionMapper based on the source code of the fixed Struts versions
Exploitation
- CISA Known Exploited Vulnerabilities catalog: added 2026-10-08
- Public exploit available on Exploit-DB, and a Metasploit module exists
- No authentication required (PR:N); attack complexity high (AC:H); CISA SSVC: exploitation active, automatable no, technical impact total
Our recommendation
- Inventory all Struts 2 usage, including bundled components in vendor appliances and Huawei products
- Upgrade to Struts 2.3.20.3, 2.3.24.3 or 2.3.28.1, or disable Dynamic Method Invocation where possible
- For internet-facing systems, preserve logs and check for signs of compromise before patching, as recommended by CISA
- For embedded Huawei products, request fixed versions from Huawei PSIRT
- Monitor web server logs for requests containing method: expressions
Public exploits
Links to third-party sites, not checked by us – exploit code can contain malware. Only use it in isolated test environments.
- Metasploit module exploit/multi/http/struts_dmi_exec – Apache Struts Dynamic Method Invocation Remote Code Execution
- Exploit-DB EDB-ID 39756 – Apache Struts - Dynamic Method Invocation Remote Code Execution (Metasploit) 2 May 2016
Research sources
- Apache Struts S2-032 Security Bulletin struts.apache.org
- Huawei PSIRT advisory huawei-sa-20160527-01-struts2-en www.huawei.com
- CISA Known Exploited Vulnerabilities Catalog www.cisa.gov
- NVD CVE-2016-3081 nvd.nist.gov
- Exploit-DB 39756 www.exploit-db.com
- Rapid7 Metasploit module struts_dmi_exec www.rapid7.com
Researched and written up in English and German by an AI (Claude by Anthropic) based on NVD, CISA, EPSS and the sources listed. The vendor information is authoritative. Researched on 30 Oct 2026, 13:43.
Original description (NVD)
Apache Struts 2.3.19 to 2.3.20.2, 2.3.21 to 2.3.24.1, and 2.3.25 to 2.3.28, when Dynamic Method Invocation is enabled, allow remote attackers to execute arbitrary code via method: prefix, related to chained expressions.
Required action (CISA)
Apply mitigations in accordance with vendor instructions, ensuring compliance with CISA’s BOD 26-04 Prioritizing Security Updates Based on Risk (see URL in Notes) guidance and CISA’s “Forensics Triage Requirements” (see URL in Notes). Follow applicable BOD 26-04 guidance for cloud services or discontinue use of the product if mitigations are unavailable. Stakeholders are responsible for evaluating each asset's internet exposure and ensuring adherence to BOD 26-04 patching guidelines.
NVD references (23)
- http://packetstormsecurity.com/files/136856/Apache-Struts-2.3.28-Dynamic-Method-Invocation-Remote-Code-Execut…
- http://www.huawei.com/en/psirt/security-advisories/huawei-sa-20160527-01-struts2-en
- http://www.oracle.com/technetwork/security-advisory/cpujul2016-2881720.html
- http://www.oracle.com/technetwork/security-advisory/cpuoct2016-2881722.html
- http://www.rapid7.com/db/modules/exploit/linux/http/struts_dmi_exec
- http://www.rapid7.com/db/modules/exploit/multi/http/struts_dmi_exec
- http://www.securityfocus.com/bid/87327
- http://www.securityfocus.com/bid/91787
- http://www.securitytracker.com/id/1035665
- https://struts.apache.org/docs/s2-032.html
- https://www.exploit-db.com/exploits/39756/
- http://packetstormsecurity.com/files/136856/Apache-Struts-2.3.28-Dynamic-Method-Invocation-Remote-Code-Execut…
- http://www.huawei.com/en/psirt/security-advisories/huawei-sa-20160527-01-struts2-en
- http://www.oracle.com/technetwork/security-advisory/cpujul2016-2881720.html
- http://www.oracle.com/technetwork/security-advisory/cpuoct2016-2881722.html
- http://www.rapid7.com/db/modules/exploit/linux/http/struts_dmi_exec
- http://www.rapid7.com/db/modules/exploit/multi/http/struts_dmi_exec
- http://www.securityfocus.com/bid/87327
- http://www.securityfocus.com/bid/91787
- http://www.securitytracker.com/id/1035665
- https://struts.apache.org/docs/s2-032.html
- https://www.exploit-db.com/exploits/39756/
- https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2016-3081
Sources
The tracker combines official, freely usable data sources – updated continuously:
- NVD (NIST) – CVEs, rating (CVSS), affected products
- CISA KEV – vulnerabilities confirmed by CISA as actively exploited
- CISA Vulnrichment – CISA assessment (SSVC) in the official CVE record
- FIRST EPSS – probability of exploitation
- Microsoft MSRC – Patch Tuesday: vulnerabilities, severity, updates
- PoC-in-GitHub – public proof-of-concept repositories
- Metasploit (Rapid7) – modules of the Metasploit Framework
- Exploit-DB (OffSec) – archive of public exploits (links only)
- Patch days: official vendor pages (linked per vendor) (Vendor patch days)
This product uses data from the NVD API but is not endorsed or certified by the NVD. EPSS data © FIRST.org.
Affected? We can help.
We check whether your systems are affected, install updates and close the gap – continuously with the System Health Checker if you wish.
