← Vulnerability feed

Vulnerability record · CVE-2016-3087 · published 7 June 2016

CVE-2016-3087: Apache Struts 2 REST Plugin RCE via Dynamic Method Invocation

Apache · Struts

Apache Struts versions 2.3.19 through 2.3.28, when Dynamic Method Invocation is enabled, fail to properly validate input passed through an exclamation mark operator to the REST Plugin. This allows remote attackers to execute arbitrary code on the server. The flaw is critical because it requires no authentication or user interaction and can lead to full system compromise.

9.8 CVSS 3.0 Critical EPSS 82% · top 0.4% CWE-20 · Improper input validation
9.8CVSS 3.0 base score, v2 7.5
82%EPSS exploitation probability, 30 days
NoNot in CISA KEV
1Affected product versions listed by NVD
10References
17 Jun 2026Last modified by NVD

Description

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 vectors related to an ! (exclamation mark) operator to the REST Plugin.

CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

Automated analysis

Generated by VULONE's analysis model from the NVD record, CISA KEV and EPSS data on 18 September 2026. Confidence: high.

critical priorityCVSS score of 9.8, public exploit availability, and high EPSS probability indicate an urgent need for patching and mitigation.

What it is

Apache Struts versions 2.3.19 through 2.3.28, when Dynamic Method Invocation is enabled, fail to properly validate input passed through an exclamation mark operator to the REST Plugin. This allows remote attackers to execute arbitrary code on the server. The flaw is critical because it requires no authentication or user interaction and can lead to full system compromise.

Impact

An unauthenticated remote attacker can execute arbitrary code with the privileges of the application server, potentially leading to complete host takeover, data theft, or lateral movement.

Attack surface

The vulnerability is reachable over the network via HTTP requests to the Struts REST Plugin when Dynamic Method Invocation is enabled. No authentication or user interaction is required, as indicated by the CVSS vector AV:N/AC:L/PR:N/UI:N.

Exploitation

Exploit code is publicly available on Exploit-DB, and EPSS indicates a high probability of exploitation (0.81873, 99.63rd percentile). The CVE is not listed in CISA KEV, but the presence of a public exploit and high EPSS score suggest active exploitation is likely.

What to do

  • Upgrade to a non-vulnerable version of Apache Struts (2.3.29 or later) as per the vendor advisory S2-033.
  • Disable Dynamic Method Invocation if it is not required for the application.
  • Apply input validation and filtering to block exclamation mark operators in REST Plugin requests.
  • Monitor for and restrict access to the REST Plugin endpoints if not needed.
  • Review and harden server configurations to limit the impact of remote code execution.

Detection

  • Monitor HTTP requests for exclamation mark characters in URLs targeting Struts REST endpoints.
  • Inspect application logs for unexpected method invocations or errors related to the REST Plugin.
  • Use network intrusion detection systems to detect known exploit patterns for CVE-2016-3087.
  • Audit server processes for unusual child processes or command executions originating from the web server.

This assessment is produced automatically and is not human-reviewed. Verify against the vendor advisory before acting on it.

Affected products

1 vulnerable configurations from NVD's CPE data, grouped by vendor and product.

References

Track CVE-2016-3087 inside VULONE

Watch it alongside the ransomware crews, C2 infrastructure and forum chatter that reference it, query it through the API and pull it into your SIEM over TAXII.

Start free Open in platform

Related vulnerabilities

Same products first, then exploited flaws of the same weakness class.

9.8CVE-2020-17530Apache Struts forced OGNL evaluation enables remote code executionApache Struts 2.0.0 through 2.5.25 performs forced OGNL evaluation on raw user input placed in tag attributes, allowing expression language injection…KEVEPSS 96%analysed9.8CVE-2017-9791Apache Struts 1 plugin input validation flaw enables remote code executionThe Struts 1 plugin in Apache Struts 2.1.x and 2.3.x may allow remote code execution when a malicious field value is passed in a raw message to the A…KEVEPSS 99%analysed9.8CVE-2017-5638Apache Struts 2 Jakarta Multipart parser remote code executionThe Jakarta Multipart parser in Apache Struts 2 mishandles exceptions and error messages during file-upload attempts, letting a crafted Content-Type,…KEVEPSS 100%analysed9.8CVE-2013-2251Apache Struts 2 OGNL injection enables remote code executionApache Struts 2.0.0 through 2.3.15 fails to properly validate request parameters, allowing crafted action:, redirect:, or redirectAction: prefixes to…KEVEPSS 100%analysed9.8CVE-2012-0391Apache Struts ExceptionDelegator OGNL injection enables remote code executionApache Struts before 2.2.3.1 evaluates parameter values as OGNL expressions in the ExceptionDelegator component during exception handling for mismatc…KEVEPSS 76%analysed8.1CVE-2018-11776Apache Struts namespace handling flaw enables remote code executionApache Struts 2.3 through 2.3.34 and 2.5 through 2.5.16 can execute remote code when alwaysSelectFullNamespace is enabled and results or url tags are…KEVEPSS 100%analysed8.1CVE-2017-9805Apache Struts REST Plugin XStream deserialization RCEThe REST Plugin in Apache Struts 2.1.1 through 2.3.x before 2.3.34 and 2.5.x before 2.5.13 uses an XStreamHandler with an XStream instance for deseri…KEVEPSS 99%analysed7.5CVE-2006-1547Apache Struts 1 ActionForm multipart parameter denial of serviceApache Struts before 1.2.9 with BeanUtils 1.7 exposes the public getMultipartRequestHandler method through ActionForm parameter binding. A remote att…KEVEPSS 55%analysed

Source: NIST National Vulnerability Database (record CVE-2016-3087), CISA KEV, FIRST EPSS (scores of 2026-09-26). This page is refreshed as NVD updates the record.