CVE-2016-3081: Apache Struts 2 S2-032 RCE via method: prefix with Dynamic Method Invocation

Exploited in the wild High 8.1 EPSS 96.5% Apache Struts

Apache Struts 2.3.19 to 2.3.28 (except 2.3.20.3 and 2.3.24.3) let remote attackers pass a malicious OGNL expression through the method: prefix and execute arbitrary code on the server when Dynamic Method Invocation (DMI) is enabled. Apache fixed it in April 2016 (S2-032) in 2.3.20.3, 2.3.24.3 and 2.3.28.1. CISA added it to the Known Exploited Vulnerabilities catalog on 2026-10-08, so legacy Struts 2.3 web applications should be checked and rebuilt.

What do these terms mean? CVE · CVSS score · exploited (KEV) · EPSS · backported fix · all terms

What to do now

  1. Check whether you run Apache Struts and which version (commands below).
  2. Install the fixed version for your system: see “Patch it” below.
  3. Redeploy the rebuilt application (WAR) and restart the servlet container.
  4. If you cannot patch today, apply the temporary mitigation below and patch as soon as possible.
  5. Because this flaw is being exploited, also check the server for signs of compromise.

Affected and fixed versions

Affected:

Fixed in:

Am I affected?

find / -name 'struts2-core-*.jar' 2>/dev/null
grep -rn 'struts.enable.DynamicMethodInvocation' /path/to/webapp/WEB-INF/classes/struts.xml

Patch it

Use the commands for your system. Distribution packages often keep an older version number with the fix backported, so compare with the fixed package versions in the table below, not only with the upstream version.

Debian
bundled in applications
Ubuntu
bundled in applications
RHEL, AlmaLinux, Rocky, Oracle
bundled in applications
Fedora
bundled in applications
SUSE / openSUSE
bundled in applications
Amazon Linux
bundled in applications
Arch Linux
bundled in applications
Alpine
bundled in applications
FreeBSD
bundled in applications
Built from source
# Maven: raise the dependency and rebuild/redeploy the application
# <dependency>
#   <groupId>org.apache.struts</groupId>
#   <artifactId>struts2-core</artifactId>
#   <version>2.3.28.1</version>   <!-- or 2.3.20.3 / 2.3.24.3, or a current supported Struts release -->
# </dependency>
mvn clean package

General update steps for every system are on the Linux and Unix & BSD pages; after updating, see which services to restart.

If you cannot patch yet

CISA required action: 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.

This vulnerability could affect an open-source component, third-party library, protocol, or proprietary implementation that could be used by different products. For more information, please see: https://cwiki.apache.org/confluence/display/WW/S2-032 ; ; BOD 26-04: https://www.cisa.gov/news-events/directives/bod-26-04-prioritizing-security-updates-based-risk ; Forensics Triage Requirements: https://www.cisa.gov/news-events/directives/bod-26-04-implementation-guidance-prioritizing-security-updates-based-risk ; https://nvd.nist.gov/vuln/detail/CVE-2016-3081

Sources

Page generated automatically from official sources on 2026-11-03 18:05 UTC and reviewed by an editor. Always confirm with your vendor's advisory.