← Vulnerability feed

Vulnerability record · CVE-2020-17530 · published 11 December 2020

CVE-2020-17530: Apache Struts forced OGNL evaluation enables remote code execution

Apache · Struts

Apache Struts 2.0.0 through 2.5.25 performs forced OGNL evaluation on raw user input placed in tag attributes, allowing expression language injection. Because the injected expression is evaluated server-side, an unauthenticated remote attacker can execute arbitrary code on the application server.

9.8 CVSS 3.1 Critical CISA KEV since 3 Nov 2021 EPSS 96% · top 0.1% CWE-917 · Expression language injection
9.8CVSS 3.1 base score, v2 7.5
96%EPSS exploitation probability, 30 days
YesIn CISA KEV, fix deadline passed
8Affected product versions listed by NVD
23References
17 Jun 2026Last modified by NVD

Description

Forced OGNL evaluation, when evaluated on raw user input in tag attributes, may lead to remote code execution. Affected software : Apache Struts 2.0.0 - Struts 2.5.25.

CVSS:3.1/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 16 September 2026. Confidence: high.

critical priorityUnauthenticated network-reachable remote code execution with a CVSS of 9.8, KEV listing, and near-maximum EPSS probability makes this an urgent patch target.

What it is

Apache Struts 2.0.0 through 2.5.25 performs forced OGNL evaluation on raw user input placed in tag attributes, allowing expression language injection. Because the injected expression is evaluated server-side, an unauthenticated remote attacker can execute arbitrary code on the application server.

Impact

An attacker gains remote code execution with the privileges of the Struts application, which typically means full control of the host and any data or credentials it can reach.

Attack surface

Reachable over the network via HTTP requests to a Struts application that passes raw user input into tag attributes; the CVSS vector shows no privileges or user interaction required.

Exploitation

CVE-2020-17530 is listed in CISA KEV with a 2021-11-03 addition date, and EPSS gives a 30-day exploitation probability of 0.95931 (99.872 percentile), indicating active exploitation is expected.

What to do

  • Upgrade Apache Struts to a version later than 2.5.25 per the S2-061 vendor advisory.
  • Apply the Oracle CPU patches for affected Oracle products that embed Struts (Business Intelligence, Communications products, Financial Services Data Integration Hub, Hospitality Opera 5, MySQL Enterprise Monitor).
  • If immediate upgrade is not possible, avoid passing raw user input into Struts tag attributes and apply the input validation guidance in S2-061.
  • Treat any internet-facing Struts 2.0.0-2.5.25 instance as compromised until proven otherwise and review it for webshells and unexpected processes.

Detection

  • Search web and application logs for OGNL metacharacters such as %{, ${, and # in request parameters and tag attribute values.
  • Monitor for child processes spawned by the Java/Struts application server (for example shell, curl, or wget) as a sign of post-exploitation.
  • Hunt for newly written JSP, WAR, or class files in web-accessible directories and for outbound connections from the application host.
  • Alert on exploitation attempts against known Struts endpoints using the public S2-061 proof-of-concept patterns.

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

Exploitation in the wild

CISA added CVE-2020-17530 to the Known Exploited Vulnerabilities catalog on 3 November 2021 as "Apache Struts Remote Code Execution Vulnerability". Required action: Apply updates per vendor instructions. Federal deadline 3 May 2022.

Affected products

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

References

LinkTags
http://jvn.jp/en/jp/JVN43969166/index.html Third Party Advisory
http://packetstormsecurity.com/files/160721/Apache-Struts-2-Forced-Multi-OGNL-Evaluation.html Third Party AdvisoryVDB Entry
http://www.openwall.com/lists/oss-security/2022/04/12/6 Mailing ListThird Party Advisory
https://cwiki.apache.org/confluence/display/WW/S2-061 Vendor Advisory
https://security.netapp.com/advisory/ntap-20210115-0005/ PatchThird Party Advisory
https://www.oracle.com//security-alerts/cpujul2021.html PatchThird Party Advisory
https://www.oracle.com/security-alerts/cpuApr2021.html PatchThird Party Advisory
https://www.oracle.com/security-alerts/cpuapr2022.html Third Party Advisory
https://www.oracle.com/security-alerts/cpujan2021.html PatchThird Party Advisory
https://www.oracle.com/security-alerts/cpujan2022.html PatchThird Party Advisory
https://www.oracle.com/security-alerts/cpuoct2021.html PatchThird Party Advisory
http://jvn.jp/en/jp/JVN43969166/index.html Third Party Advisory
http://packetstormsecurity.com/files/160721/Apache-Struts-2-Forced-Multi-OGNL-Evaluation.html Third Party AdvisoryVDB Entry
http://www.openwall.com/lists/oss-security/2022/04/12/6 Mailing ListThird Party Advisory
https://cwiki.apache.org/confluence/display/WW/S2-061 Vendor Advisory
https://security.netapp.com/advisory/ntap-20210115-0005/ PatchThird Party Advisory
https://www.oracle.com//security-alerts/cpujul2021.html PatchThird Party Advisory
https://www.oracle.com/security-alerts/cpuApr2021.html PatchThird Party Advisory
https://www.oracle.com/security-alerts/cpuapr2022.html Third Party Advisory
https://www.oracle.com/security-alerts/cpujan2021.html PatchThird Party Advisory
https://www.oracle.com/security-alerts/cpujan2022.html PatchThird Party Advisory
https://www.oracle.com/security-alerts/cpuoct2021.html PatchThird Party Advisory
https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2020-17530 US Government Resource

Track CVE-2020-17530 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-2022-22965Spring Framework data binding remote code execution (Spring4Shell)Spring MVC and Spring WebFlux applications on JDK 9+ can be exploited through data binding to achieve remote code execution. The known exploit path r…KEVEPSS 100%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-2020-14864Oracle Business Intelligence Enterprise Edition path traversal allows unauthenticated data accessOracle Business Intelligence Enterprise Edition contains a path traversal flaw in its Installation component affecting versions 5.5.0.0.0, 12.2.1.3.0…KEVEPSS 97%analysed

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