CVE-2016-3081 is an OGNL expression injection vulnerability in Apache Struts that permits remote arbitrary code execution when Dynamic Method Invocation is enabled. Attacker-controlled method names supplied through the method: prefix enter the action invocation flow and are evaluated through ognlUtil.getValue(methodName + "()", ...), allowing malicious chained expressions to execute on the server. Listed affected versions are 2.3.19–2.3.20.2, 2.3.21–2.3.24.1, and 2.3.25–2.3.28. A separate technical analysis disputes these boundaries, identifying 2.3.18–2.3.28 while excluding 2.3.20.2 and 2.3.24.2.
Mallory correlates every CVE against your assets, your vendors, and active adversary campaigns. Know which vulnerabilities matter for you, not just which ones are loud.
What it means. What to do now. Patch path, mitigations, and the assume-compromise checklist.
What an attacker gets, and what they’ve been doing with it.
If you can’t patch tonight, do this now.
Patch, then assume compromise.
1 valid exploit after Mallory filtered fakes, detection scripts, and README-only repos.
This repository contains a single Metasploit module (modules/exploits/multi/http/struts_dmi_exec.rb) that exploits a remote code execution vulnerability (CVE-2016-3081) in Apache Struts versions 2.3.20 to 2.3.28 (excluding 2.3.20.2 and 2.3.24.2) when Dynamic Method Invocation is enabled. The exploit works by sending a specially crafted HTTP POST request to a Struts action endpoint (default: /struts2-blank/example/HelloWorld.action), injecting OGNL expressions that allow arbitrary code execution. The module supports Windows, Linux, and Java platforms, and can upload and execute custom payloads (EXE, JAR, or shell) on the target system. The code is weaponized, as it is part of the Metasploit framework and allows for easy payload customization and automated exploitation. The only fingerprintable endpoint is the configurable TARGETURI, which must point to a valid Struts action on the target server.
Products and vendors Mallory has correlated with this vulnerability. Open in Mallory to drill down to specific CPE configurations and version ranges.
Vendor-confirmed product mapping. Mallory continuously reconciles this list against your asset inventory.
23 sources tracked across advisories, community write-ups, and news. New activity surfaces here as Mallory finds it.
A critical vulnerability in Apache Struts that can allow a remote attacker to execute arbitrary code. The alert identifies it as listed in CISA's Known Exploited Vulnerabilities catalog, indicating confirmed exploitation in real-world environments. A security update is available, and CTIR Gov recommends applying the developer's fixes immediately. The alert does not provide usable affected-version information.
A command injection flaw in Apache Struts allowing remote arbitrary code execution through method:prefix when Dynamic Method Invocation is enabled. CISA added it to KEV following exploitation attributed to Flax Typhoon.
A known exploited vulnerability added to CISA's catalog in connection with the reported Chinese government-linked intrusion activity. The content does not describe its technical mechanism or affected product.
An Apache Struts vulnerability successfully exploited in the reported activity when Dynamic Method Invocation is enabled. Fixes are available in 2.3.20.3, 2.3.24.3, and 2.3.28.1, with a configuration-based mitigation also documented.
Query your assets running an affected version, and investigate the blast radius.
Every observed campaign linking this CVE to a named adversary.
Malware families riding this exploit, with evidence and IOCs.
YARA, Sigma, Snort, and vendor rules, auto-deployed to your SIEM.
Cross-references every affected SKU, including bundled OEM variants.
Community discussion across Reddit, Mastodon, and other social sources.