Struts vulnerabilitiesAnd the versions its exploited flaws hit.

Product9 known exploited174 versions
The short answer

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.

Check your version

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.

Other names

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.

Versions

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
Known exploited

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.

  1. 8.1
    CVE-2016-3081HighKnown exploited
    Apache 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.

    Chance of use96%Known exploited since8 Oct 2026
  2. 9.8
    CVE-2013-2251CriticalKnown exploited
    Apache Struts Improper Input Validation Vulnerability

    Apache Struts allows remote attackers to execute arbitrary Object-Graph Navigation Language (OGNL) expressions.

    Chance of use>99%Known exploited since25 Mar 2022
  3. 9.8
    CVE-2017-9791CriticalKnown exploited
    Apache 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.

    Chance of use99%Known exploited since10 Feb 2022
  4. 7.5
    CVE-2006-1547HighKnown exploited
    Apache 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).

    Chance of use55%Known exploited since21 Jan 2022
  5. 9.8
    CVE-2012-0391CriticalKnown exploited
    Apache 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.

    Chance of use76%Known exploited since21 Jan 2022
  6. 9.8
    CVE-2020-17530CriticalKnown exploited
    Apache 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.

    Chance of use96%Known exploited since3 Nov 2021
  7. 9.8
    CVE-2017-5638CriticalKnown exploited
    Apache 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.

    Chance of use>99%Known exploited since3 Nov 2021
  8. 8.1
    CVE-2017-9805HighKnown exploited
    Apache 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.

    Chance of use>99%Known exploited since3 Nov 2021
Exploit likelihood

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.

50% or more10% to 49%Under 10%
  1. >99%
    CVE-2017-5638CriticalKnown exploited

    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...

    CVSS9.8Published11 Mar 2017
  2. >99%
    CVE-2013-2251CriticalKnown exploited

    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.

    CVSS9.8Published20 Jul 2013
  3. >99%
    CVE-2018-11776HighKnown exploited

    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...

    CVSS8.1Published22 Aug 2018
  4. >99%

    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.

    CVSS5.0Published11 Mar 2014
  5. >99%
    CVE-2017-9805HighKnown exploited

    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...

    CVSS8.1Published15 Sep 2017
  6. >99%

    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,...

    CVSS7.5Published30 Apr 2014
  7. 99%
    CVE-2017-9791CriticalKnown exploited

    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.

    CVSS9.8Published10 Jul 2017
  8. 98%

    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...

    CVSS7.5Published29 Apr 2014
  9. 98%

    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...

    CVSS6.8Published8 Jan 2012
  10. 97%

    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.

    CVSS9.8Published14 Sep 2020
Precursor Intelligence

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.

  1. Tell us what you runPick your software from a list, or let us work it out from your website.
  2. We match it to every flawOver 400,000 published flaws, checked against your list.
  3. Ranked by real-world riskA 0 to 100 score, led by evidence criminals are using it.
  4. 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.

FAQ

Common questions, answered plainly.

Something else? Talk to the team →

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.