WaratekVRT Sign in

CVE-2020-17530 Apache Struts

Affected softwareApache Struts
Severity9.8 Critical CVSS 3.1 3 scores
Fixed in2.5.26
WeaknessExpression language injection (CWE-917)
Published11 Dec 2020
Updated13 Nov 2026

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.

CWE-94 · Code injection

Exploitation status

Exploited

Confirmed real-world exploitation.

  • CISA KEV listed Confirmed exploitation in the wild. Added 2021-11-03 · remediation due 2022-05-03 · ransomware use: unknown
  • VulnCheck KEV listed Exploitation reported in the wild. 4 citations · honeypot sightings · 10 exploits · earliest 2021-04-12.
  • CISA Vulnrichment exploitation: active CISA records active exploitation. Automatable: yes, technical impact: total.
  • Indexed PoC 12 indexed Published artifacts you can open, in GitHub PoC, Metasploit, Nuclei; first seen 2020-12-09.
  • EPSS 96% chance in 30 days A model's forecast, not a report of exploitation. Higher than 99.9% of all scored CVEs.

VulnCheck KEV

Exploitation evidence from VulnCheck Known Exploited Vulnerabilities (VulnCheck KEV), used under VulnCheck's community terms. View CVE-2020-17530 in VulnCheck (free account), which lists 5 more exploit references not shown here.

EvidenceSourceDetailDate
Honeypot sighting VulnCheck canaries Exploitation attempts seen on 16 days 2026-10-21 to 2026-11-11
Reported exploitation unit42.paloaltonetworks.com /network-attack-trends-winter-2020 2021-04-12
Reported exploitation blog.qualys.com /vulnerabilities-threat-research/2021/09/21/apache-struts-2-double-ognl-evaluation-vulnerability-cve-2020-17530 2021-09-21
Reported exploitation cisa.gov /sites/default/files/feeds/known_exploited_vulnerabilities.json 2021-11-03
Reported exploitation media.kasperskycontenthub.com /wp-content/uploads/sites/43/2023/11/09055246/Modern-Asian-APT-groups-TTPs_report_eng.pdf 2023-11-09
Exploit reference VulnCheck XDB e3fa2afdc5f2 Exploit type: initial-access 2020-12-09
Exploit reference VulnCheck XDB bfb08d5ee460 Exploit type: initial-access 2020-12-10
Exploit reference VulnCheck XDB 2413521dca63 Exploit type: initial-access 2020-12-13
Exploit reference VulnCheck XDB dbd52a7e6d06 Exploit type: initial-access 2020-12-14
Exploit reference VulnCheck XDB d5f1da1e2721 Exploit type: initial-access 2020-12-18

3 of these are GitHub repositories with fewer than 5 stars. They are listed for reference and don't count toward the exploitation status above.

IndexArtifactStarsFirst seen
GitHub PoC ka1n4t/CVE-2020-17530 64 2020-12-09
Nuclei Apache Struts 2.0.0-2.5.25 - Remote Code Execution
Metasploit Apache Struts 2 Forced Multi OGNL Evaluation (excellent rank)
GitHub PoC S2-061 的payload,以及对应简单的PoC/Exp 45 2020-12-10
GitHub PoC S2-061 CVE-2020-17530 29 2020-12-13
GitHub PoC CVE-2020-17530-strust2-061 7 2020-12-14
GitHub PoC uzzzval/CVE-2020-17530 5 2021-01-07
GitHub PoC CyborgSecurity/CVE-2020-17530 4 2020-12-30
GitHub PoC Apache Struts2框架是一个用于开发Java EE网络应用程序的Web框架。Apache Struts于2020年12月08日披露 S2-061 Struts 远程代码执行漏洞(CVE-2020-17530),在使用某些tag等情况下可能存在OGNL表达式注入漏洞,从而造成远程代码执行,风险极大。提醒我校Apache Struts用户尽快采取安全措施阻止漏洞攻击。 1 2020-12-09
GitHub PoC Vulnerable environment of CVE-2020-17530 (S2-061) for testing 2023-08-04

Waratek protection

Protected by Waratek

Waratek has a rule that blocks attacks on this vulnerability.

Decided by A researcher's recorded decision for this specific CVE
Finding A researcher found this CVE protected by the ARMR Process rule.

Waratek research note

written 2026-11-13

Written by a Waratek engineer who reviewed this CVE. Their decision sets the status above, ahead of every automated rule except a withdrawal.

Comments

Rule Name: ARMR Process rule

Exploitation forks a process. Blocked by the Process rule in PROTECT mode.

Only stops attacks that start a program; an expression that reads files or data directly in Java is not stopped.

The Marshal rule does not apply: rce() arms only inside a deserialization boundary.

How to mitigate CVE-2020-17530

Upgrade Apache Struts to 2.5.26 or later. Until you can, Waratek RASP blocks exploitation with its process rule. It runs inside the Java application, with no code changes.

Waratek RASP Runtime protection for Java applications

CVSS

9.8 CRITICAL v3.1 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H 3 metrics

We show the highest score from the newest CVSS version. Scores from different versions can't be compared, and the first score listed is sometimes a 0.0 placeholder.

VersionScoreBandVectorAssignerType
CVSS 3.1 9.8 CRITICAL CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H NVD Primary published
CVSS 3.1 9.8 CRITICAL CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H CISA-ADP Secondary
CVSS 2.0 7.5 none AV:N/AC:L/Au:N/C:P/I:P/A:P NVD Primary

Affected software and releases

Oracle advisories

AdvisoryTypeQuarterProducts Oracle names in its risk matrix
Oracle Critical Patch Update April 2022 ↗ CPU 2022-Q2 Oracle Communications / Visualization (Apache Struts) (8.0.0-8.1.0, 8.2.0-8.2.3)
Oracle Critical Patch Update January 2022 ↗ CPU 2022-Q1 Oracle Fusion Middleware / Installation (Apache Struts2) (12.2.1.3.0, 12.2.1.4.0)
Oracle Critical Patch Update October 2021 ↗ CPU 2021-Q4 Oracle Communications / Enterprise Policy (Apache Struts2) (12.5.0)
Oracle Critical Patch Update July 2021 ↗ CPU 2021-Q3 Oracle Communications Applications / CNE (Apache Struts) (12.0.0.3.0)
Oracle Critical Patch Update April 2021 ↗ CPU 2021-Q2 Oracle Hospitality Applications / Login (Apache Struts) (5.6)
Oracle MySQL / Monitoring: General (Apache Struts) (8.0.23 and prior)

Oracle components and versions

FamilyComponentVersions, as Oracle lists themRead as
Oracle Communications Enterprise Policy (Apache Struts2) 12.5.0 12.5.0
Oracle Communications Visualization (Apache Struts) 8.0.0-8.1.0, 8.2.0-8.2.3
Oracle Communications Applications CNE (Apache Struts) 12.0.0.3.0 12.0.0.3.0
Oracle Fusion Middleware Installation (Apache Struts2) 12.2.1.3.0, 12.2.1.4.0 12.2.1.3.0 · 12.2.1.4.0
Oracle Hospitality Applications Login (Apache Struts) 5.6 5.6
Oracle MySQL Monitoring: General (Apache Struts) 8.0.23 and prior

Maven packages

Affected and fixed versions, from OSV.dev
PackageIntroducedFixedLast affected
org.apache.struts:struts2-core 2.0.0 2.5.26 unbounded

Products and versions

9 products, 14 version entries
SourceVendorProductSchemeAffected versions
nvd apache struts generic ≥ 2.0.0 and < 2.5.30
nvd oracle business intelligence generic 12.2.1.3.0 · 12.2.1.4.0
nvd oracle communications diameter intelligence hub generic 8.0.0 · 8.1.0 · 8.2.0 · 8.2.3
nvd oracle communications policy management generic 12.5.0
nvd oracle communications pricing design center generic 12.0.0.3.0
nvd oracle financial services data integration hub generic 8.0.3 · 8.0.6
nvd oracle hospitality opera 5 generic 5.6
nvd oracle mysql enterprise monitor generic 8.0.23
osv org.apache.struts struts2-core generic ≥ 2.0.0 and < 2.5.26

Earlier manual review

A reviewer classified this CVE in an older dataset. We kept the labels and products below, but not the reviewer's reasoning.

## Manual Classification Context **Labels:** HTTP, MONITORING: GENERAL (APACHE STRUTS), HTTPS, LOGIN (APACHE STRUTS), CNE (APACHE STRUTS), NO AUTH REMOTE EXPLOIT, ENTERPRISE POLICY (APACHE STRUTS2), INSTALLATION (APACHE STRUTS2) **Products:** STRUTS2, APACHE STRUTS 2, ORACLE COMMUNICATIONS POLICY MANAGEMENT, ORACLE COMMUNICATIONS, ORACLE FUSION MIDDLEWARE, ORACLE BUSINESS INTELLIGENCE ENTERPRISE EDITION

References

URLTags
https://cwiki.apache.org/confluence/display/WW/S2-061 WEB
https://github.com/apache/struts PACKAGE
https://security.netapp.com/advisory/ntap-20210115-0005 WEB
https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2020-17530 WEB
https://www.oracle.com//security-alerts/cpujul2021.html WEB
https://www.oracle.com/security-alerts/cpuApr2021.html WEB
https://www.oracle.com/security-alerts/cpuapr2022.html WEB
https://www.oracle.com/security-alerts/cpujan2021.html WEB
https://www.oracle.com/security-alerts/cpujan2022.html WEB
https://www.oracle.com/security-alerts/cpuoct2021.html WEB

Timeline

Published2020-12-11By the CVE Program.
VulnCheck KEV: earliest evidence2021-04-12Date of the oldest evidence of exploitation in VulnCheck KEV's record. VulnCheck does not publish the date it listed the CVE.
Added to CISA KEV2021-11-03Listed in CISA's Known Exploited Vulnerabilities catalog.
NVD record modified2026-06-17NVD's own last-modified date for this record.
VulnCheck KEV: latest evidence2026-11-11Date of the newest report, exploit reference or honeypot sighting in VulnCheck KEV's record.
Classification created2026-11-13First commit adding this CVE's research note.
Last VRT activity2026-11-13Most recent commit touching this CVE's classification, patch or rule file.