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.
CVE-2016-3087
Score elevated to 9.8 because EPSS predicts 87% probability of exploitation within the next 30 days (top 0.6% of all CVEs). NVD baseline CVSS 9.8 retained for reference. Confidence: see factors.
- High exploitation likelihood — EPSS 81%
No vendor fix yet — apply a workaround or compensating control (WAF / firewall / segmentation) and watch for a patch.
- CVSS v3
- 9.8
- EG Score
- 9.8(high)
- EPSS
- 99.6%
- KEV
- Not listed
Published
June 7, 2016
Last Modified
May 6, 2026
Advisory Details (3)
Auto-updated May 7, 2026Apache Struts - REST Plugin With Dynamic Method Invocation Remote Code Execution (Metasploit) - Multiple remote Exploit
https://www.exploit-db.com/exploits/39919/S2-033 - Apache Struts 2 Wiki - Apache Software Foundation
http://struts.apache.org/docs/s2-033.htmlAffected Packages
(1 across 1 ecosystem)
Maven(1)
| Package | Vulnerable range | Fixed in | Dependents |
|---|---|---|---|
| org.apache.struts:struts2-core | 2.3.28 | 2.3.28.1 | — |
Data Freshness Timeline
(refreshed 3× in last 7d / 21× in last 30d)
Each row is a source pipeline that fetched or updated this CVE on that date, with what changed. For example, "NVD update" means NVD published or revised its analysis for this CVE; "MITRE cvelistV5" means we ingested or refreshed it from the CNA feed. Most recent first.
- 2026-07-09 19:05 UTCEPSS rescore
- 2026-07-08 15:10 UTCEPSS rescore
- 2026-07-08 02:57 UTCOSV refresh
- 2026-07-04 06:28 UTCEPSS rescore
- 2026-07-01 15:02 UTCEPSS rescore
- 2026-06-30 23:19 UTCEPSS rescore
- 2026-06-28 14:04 UTCEPSS rescore
- 2026-06-28 04:53 UTCEPSS rescore
- 2026-06-25 13:47 UTCEPSS rescore
- 2026-06-25 13:47 UTCEPSS rescore
- 2026-06-23 21:30 UTCEPSS rescore
- 2026-06-21 01:57 UTCEPSS rescore
- 2026-06-21 01:57 UTCEPSS rescore
- 2026-06-19 14:55 UTCOSV refresh
- 2026-06-17 17:50 UTCEPSS rescore
- 2026-06-17 17:50 UTCEPSS rescore
- 2026-06-15 17:45 UTCEPSS rescore
- 2026-06-13 22:57 UTCEPSS rescore
- 2026-06-13 22:57 UTCEPSS rescore
- 2026-06-12 23:09 UTCEPSS rescore
- 2026-06-12 23:09 UTCEPSS rescore
- 2026-06-10 22:15 UTCEPSS rescore
- 2026-06-10 13:18 UTCEPSS rescore
- 2026-06-08 14:14 UTCEPSS rescore
- 2026-06-07 15:22 UTCEPSS rescore
Show 26 moreShow fewer
- 2026-06-07 15:22 UTCEPSS rescore
- 2026-06-05 22:44 UTCEPSS rescore
- 2026-06-02 20:10 UTCEPSS rescore
- 2026-05-31 22:28 UTCEPSS rescore
- 2026-05-31 22:28 UTCEPSS rescore
- 2026-05-30 21:53 UTCOSV refresh
- 2026-05-28 13:42 UTCEPSS rescore
- 2026-05-28 13:42 UTCEPSS rescore
- 2026-05-27 13:38 UTCEPSS rescore
- 2026-05-27 13:38 UTCEPSS rescore
- 2026-05-22 21:15 UTCEPSS rescore
- 2026-05-22 21:15 UTCEPSS rescore
- 2026-05-20 22:37 UTCEPSS rescore
- 2026-05-20 22:37 UTCEPSS rescore
- 2026-05-20 22:37 UTCEPSS rescore
- 2026-05-20 08:47 UTCEG score recompute
- 2026-05-20 04:53 UTCEG score recompute
- 2026-05-20 00:52 UTCEG score recompute
- 2026-05-19 20:45 UTCEG score recompute
- 2026-05-19 16:50 UTCEG score recompute
- 2026-05-19 12:49 UTCEG score recompute
- 2026-05-19 08:55 UTCEG score recompute
- 2026-05-19 05:00 UTCEG score recompute
- 2026-05-19 01:07 UTCEG score recompute
- 2026-05-18 21:30 UTCEPSS rescore
- 2026-05-18 21:30 UTCEPSS rescore
Publicly available exploits
(3 references)Working exploit code is in the public domain (1 Metasploit module) (2 Exploit-DB entries). Defenders should treat patch urgency accordingly — public PoCs typically lead to mass-exploitation within 24-72 hours.
- Exploit-DBEDB-43382First seen Jun 6, 2017
Apache Struts - REST Plugin With Dynamic Method Invocation Remote Code Execution
Open source ↗ - Exploit-DBEDB-39919✓ verifiedFirst seen Jun 10, 2016
Apache Struts - REST Plugin With Dynamic Method Invocation Remote Code Execution (Metasploit)
Open source ↗ - Metasploitexploit/multi/http/struts_dmi_rest_exec✓ verifiedFirst seen Jun 1, 2016
Apache Struts REST Plugin With Dynamic Method Invocation Remote Code Execution
Open source ↗
Frequently asked(5)
What is CVE-2016-3087?
When was CVE-2016-3087 disclosed?
Is CVE-2016-3087 actively exploited?
What is the CVSS score of CVE-2016-3087?
How do I remediate CVE-2016-3087?
Dependency Blast Radius
See which npm, PyPI, Go, and Maven packages are affected by CVE-2016-3087
Is Your Infrastructure Affected by CVE-2016-3087?
EchelonGraph automatically scans your cloud infrastructure and maps CVE exposure using blast radius analysis.