# CVE-2016-3081: Apache Struts command injection in Dynamic Method Invocation

Source: https://junglewise.ai/threats/cve-2016-3081-apache-struts-rce-vulnerability  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2022-05-14. Updated: 2026-10-08  
License: CC BY 4.0 with a link back

CVE-2016-3081 · Severity: critical · CVSS 3 · Exploited in the wild · Published 2022-05-14

Apache Struts is a framework for building web applications. When Dynamic Method Invocation is enabled, attackers on the network can exploit a command injection flaw to execute arbitrary code on the server, gaining complete control of the application and potentially the underlying system.

Technologies: [Apache Struts](https://junglewise.ai/threats/technologies/struts), [org.apache.struts:struts2-core (Maven)](https://junglewise.ai/threats/technologies/org-apache-struts-struts2-core). Vendors: [Apache](https://junglewise.ai/threats/vendors/apache), [Maven](https://junglewise.ai/threats/vendors/maven).

## Quick answers

**Is CVE-2016-3081 exploited in the wild?** Yes. CVE-2016-3081 is known to be exploited in the wild, first recorded on 8 October 2026. Treat it as urgent.

**How severe is CVE-2016-3081?** Critical severity, with a CVSS score of 3, published 14 May 2022.

**Which products and versions are affected?** org.apache.struts:struts2-core (Maven) ECOSYSTEM:introduced=2.3.19,fixed=2.3.20.3.

**Is there a fix for CVE-2016-3081?** Yes. org.apache.struts:struts2-core (Maven): upgrade to 2.3.20.3 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**How is CVE-2016-3081 attacked?** It is attacked over the network, in a software library.

**Am I affected by CVE-2016-3081?** Check whether you run Apache Struts or org.apache.struts:struts2-core (Maven) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## How to fix

- org.apache.struts:struts2-core (Maven): upgrade to 2.3.20.3 or later

  ```sh
  # set org.apache.struts:struts2-core to 2.3.20.3 in your pom.xml or build.gradle
  ```


## Technical details

The vulnerability is a command injection flaw in Apache Struts' Dynamic Method Invocation feature, triggered via the method:prefix parameter. Remote attackers can craft malicious requests that inject and execute arbitrary code on the server without requiring authentication. A fix exists but requires upgrading to a patched version.

## Affected products

- Apache Struts

## Identifiers

- CVE-2016-3081
- GHSA-8c6j-ffmf-q6vm

## Timeline

- 2016-10-08: disclosed
- exploited: exploited in the wild

## Related threats

- [Apache Struts race condition in message formatter for date/time arguments](https://junglewise.ai/threats/cve-2026-104714-concurrent-execution-using-shared-resource-with-improper)
- [Apache Struts REST plugin unbounded request body denial of service](https://junglewise.ai/threats/cve-2026-104713-allocation-of-resources-without-limits-or-throttling)
- [Apache Struts asymmetric resource consumption in BigDecimal rendering](https://junglewise.ai/threats/cve-2026-104712-asymmetric-resource-consumption-amplification-vulnerability-in)
- [Apache Struts expression language injection in legacy RESTful action mapper](https://junglewise.ai/threats/cve-2026-104711-improper-neutralization-of-special-elements-used-in-an)
- [Apache Struts XXE injection in XWork component](https://junglewise.ai/threats/cve-2025-68493-apache-struts-xxe-injection-in-xwork-component)
