Struts vulnerabilitiesAnd the versions its exploited flaws hit.
Struts is made by Apache. We track 87 published vulnerabilities listed under that exact name, across 174 versions. 9 of them are on the list of flaws known to be exploited, the newest added on 8 October 2026. Apache lists newer releases under their own names, such as Struts Extras, so check those pages too.
The most recent Struts flaw added to the known-exploited list is CVE-2016-3081, on 8 October 2026. We keep watching the known-exploited list.
Is Struts listed under other names? Yes.
Apache also lists Struts under more specific names, such as Struts Extras. Flaws listed only under those names are counted on their own pages, not here. If you run one of these, open its page for its own exploited flaws.
Which versions of Struts do the exploited flaws hit?
Each exploited flaw lists the versions it affects, usually as ranges. "before 1.2.9" means every version up to, but not including, 1.2.9. Find your version, then patch.
- CVE-2016-3081Exploited list, 8 Oct 2026
Apache Struts Command Injection Vulnerability
2.0.02.0.12.0.22.0.32.0.42.0.52.0.62.0.7 - CVE-2013-2251Exploited list, 25 Mar 2022
Apache Struts Improper Input Validation Vulnerability
2.0.0 to 2.3.15 - CVE-2017-9791Exploited list, 10 Feb 2022
Apache Struts 1 Improper Input Validation Vulnerability
2.3.12.3.1.12.3.1.22.3.32.3.42.3.4.12.3.72.3.8 - CVE-2006-1547Exploited list, 21 Jan 2022
Apache Struts 1 ActionForm Denial-of-Service Vulnerability
before 1.2.9 - CVE-2012-0391Exploited list, 21 Jan 2022
Apache Struts 2 Improper Input Validation Vulnerability
before 2.2.3.1 - CVE-2020-17530Exploited list, 3 Nov 2021
Apache Struts Remote Code Execution Vulnerability
2.0.0 to before 2.5.30 - CVE-2017-5638Exploited list, 3 Nov 2021
Apache Struts Remote Code Execution Vulnerability
2.2.3 to before 2.3.322.5.0 to before 2.5.10.1 - CVE-2017-9805Exploited list, 3 Nov 2021
Apache Struts Deserialization of Untrusted Data Vulnerability
2.1.2 to before 2.3.342.5.0 to before 2.5.13 - CVE-2018-11776Exploited list, 3 Nov 2021
Apache Struts Remote Code Execution Vulnerability
2.0.4 to before 2.3.352.5.0 to before 2.5.17
Which Struts vulnerabilities are being exploited?
9 flaws are on the government list of vulnerabilities known to be exploited. These are the ones criminals are using now, so they go first, whatever their severity score says.
- 8.1Apache Struts Command Injection Vulnerability
Apache Struts contains a command injection vulnerability that could allow remote attackers to execute arbitrary code via method:prefix when Dynamic Method Invocation is enabled.
- 9.8Apache Struts Improper Input Validation Vulnerability
Apache Struts allows remote attackers to execute arbitrary Object-Graph Navigation Language (OGNL) expressions.
- 9.8Apache Struts 1 Improper Input Validation Vulnerability
The Struts 1 plugin in Apache Struts might allow remote code execution via a malicious field value passed in a raw message to the ActionMessage.
- 7.5Apache Struts 1 ActionForm Denial-of-Service Vulnerability
ActionForm in Apache Struts versions before 1.2.9 with BeanUtils 1.7 contains a vulnerability that allows for denial-of-service (DoS).
- 9.8Apache Struts 2 Improper Input Validation Vulnerability
The ExceptionDelegator component in Apache Struts 2 before 2.2.3.1 contains an improper input validation vulnerability that allows for remote code execution.
- 9.8Apache Struts Remote Code Execution Vulnerability
Forced Object-Graph Navigation Language (OGNL) evaluation in Apache Struts, when evaluated on raw user input in tag attributes, can lead to remote code execution.
- 9.8Apache Struts Remote Code Execution Vulnerability
Apache Struts Jakarta Multipart parser allows for malicious file upload using the Content-Type value, leading to remote code execution.
- 8.1Apache Struts Deserialization of Untrusted Data Vulnerability
Apache Struts REST Plugin uses an XStreamHandler with an instance of XStream for deserialization without any type filtering, which can lead to remote code execution when deserializing XML payloads.
Which Struts flaws are most likely to be used?
Ranked by the latest exploit-likelihood forecast: the chance each flaw is used in an attack in the next 30 days. A high severity score on its own doesn't tell you that. Flaws shared by many other makers' products are left out.
- >99%
The Jakarta Multipart parser in Apache Struts 2 2.3.x before 2.3.32 and 2.5.x before 2.5.10.1 has incorrect exception handling and error-message generation during file-upload attempts, which allows remote attackers...
- >99%
Apache Struts 2.0.0 through 2.3.15 allows remote attackers to execute arbitrary OGNL expressions via a parameter with a crafted (1) action:, (2) redirect:, or (3) redirectAction: prefix.
- >99%
Apache Struts versions 2.3 to 2.3.34 and 2.5 to 2.5.16 suffer from possible Remote Code Execution when alwaysSelectFullNamespace is true (either by user or a plugin like Convention Plugin) and then: results are used...
- >99%CVE-2014-0094Medium
The ParametersInterceptor in Apache Struts before 2.3.16.2 allows remote attackers to "manipulate" the ClassLoader via the class parameter, which is passed to the getClass method.
- >99%
The 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 instance of XStream for deserialization without any type filtering, which can lead to Remote...
- >99%CVE-2014-0114High
Apache Commons BeanUtils, as distributed in lib/commons-beanutils-1.8.0.jar in Apache Struts 1.x through 1.3.10 and in other products requiring commons-beanutils through 1.9.2, does not suppress the class property,...
- 99%
The Struts 1 plugin in Apache Struts 2.1.x and 2.3.x might allow remote code execution via a malicious field value passed in a raw message to the ActionMessage.
- 98%CVE-2014-0112High
ParametersInterceptor in Apache Struts before 2.3.20 does not properly restrict access to the getClass method, which allows remote attackers to "manipulate" the ClassLoader and execute arbitrary code via a crafted...
- 98%CVE-2012-0392Medium
The CookieInterceptor component in Apache Struts before 2.3.1.1 does not use the parameter-name whitelist, which allows remote attackers to execute arbitrary commands via a crafted HTTP Cookie header that triggers...
- 97%CVE-2019-0230Critical
Apache Struts 2.0.0 to 2.5.20 forced double OGNL evaluation, when evaluated on raw user input in tag attributes, may lead to remote code execution.
Running Struts? We'll keep checking.
Looking flaws up one at a time doesn't scale. Tell us what you run once, and we tell you which flaws matter to you, in what order, and keep watching for new ones.
- Tell us what you runPick your software from a list, or let us work it out from your website.
- We match it to every flawOver 400,000 published flaws, checked against your list.
- Ranked by real-world riskA 0 to 100 score, led by evidence criminals are using it.
- Told as soon as we knowAn alert by email, in the app or by webhook to your own tools.
Free plan, no card needed. Nothing to install.
1 flaw being exploited affects software Acme tracks
Apache Struts contains a command injection vulnerability that could allow remote attackers to execute arbitrary code via method:prefix when Dynamic Method Invocation is enabled.
- Matched to
- Struts on Acme's software list
- What to do
- Patch first, then check for signs of use
Sent to the alert recipients Acme chose. Also in the app and to Acme's webhook.
We track 87 published vulnerabilities listed under the name Struts, across 174 versions. The most recent Struts flaw added to the known-exploited list is CVE-2016-3081, on 8 October 2026.
9 are on the list of flaws known to be exploited. The most recently added are CVE-2016-3081, CVE-2013-2251 and CVE-2017-9791.
Apache also lists Struts under more specific names, such as Struts Extras. Flaws listed only under those names are counted on their own pages, not here. Open the release you run to see its own list.
Each flaw names its own versions, usually as ranges. The newest, CVE-2016-3081, affects 2.0.0, 2.0.1, 2.0.2, 2.0.3 and more. The versions for every exploited flaw are listed on this page.
Create a Precursor Intelligence account and track Struts. We match it against every published flaw, give each one a risk score from 0 to 100 and keep watching, so you hear about new ones as soon as we know, by email, in the app or by webhook.