basicsecurity.net
Proof, not just disclosure.
Threats / Apache / CVE-2020-17530
CVE-2020-17530 · EUVD no mirror located · GCVE no mirror located Verified 2026-08-04

Apache Struts vulnerability

Apache Struts is vulnerable to remote code execution through forced OGNL evaluation in tag attributes when processing raw user input, enabling unauthenticated attackers to execute arbitrary code.

Verdict

Today item — known-exploited.

An attacker can inject malicious OGNL expressions into Struts tag attributes to achieve remote code execution on affected servers. The vulnerability requires no authentication and has been actively exploited in the wild, making it a critical risk for internet-facing Struts deployments.

CISA KEV Yes · 2021-11-034EPSS 0.95622 (verify live)5Exploit Weaponized · public PoC6CVSS 9.8 (CISA)3CISA SSVC Exploitation: active · Automatable: yes · Impact: total3
01

Is it exploitable?

— the evidence, ranked above the score
Exploit available
Fully weaponized — public exploit code is cataloged for this vulnerability.We link the existence of the exploit; we do not host or redistribute payloads.
Reported exploitation
4 independent public reports of in-the-wild exploitation are cataloged.Distinct reporting sources (vendor, incident response, government); open them for the underlying claims.
Exploited in the wild
Listed in the CISA Known Exploited Vulnerabilities catalog (added 2021-11-03).
CISA KEV ↗Confirmed
Probability (EPSS)
EPSS 0.95622 — modeled likelihood of exploitation activity.EPSS is a daily-changing model output — open the source for today's value.
Severity / affected
CVSS 9.8 (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H) · Affected: Apache, Struts. Confirm exact fixed builds in the vendor advisory.CVSS — CISA-assigned via the ADP container (CVE.org), version 3.1; the CNA left no metrics, so CISA's own score is used ahead of NVD.
CISA-ADP ↗Reported
Weakness (CWE)
Mapped to CWE-917 Expression Language Injection — weakness family: Injection.CWE assignment from the public NVD record (may be stale); the weakness class drives how the flaw is exploited.
NVD ↗Reported
CISA SSVC (triage disposition)
Exploitation: active · Automatable: yes · Technical Impact: totalCISA's own stakeholder-specific triage inputs, published in the CVE record (CISA Coordinator role). NOTE: this is CISA's three decision points; the final Act/Attend/Track decision also requires a Mission & Well-being input not published here, so no overall decision is asserted.
CISA-ADP ↗Reported
Currency of the record
CISA added this to its KEV catalog 327 days after the CVE record was published.KEV lag = CISA-KEV dateAdded − CVE.org datePublished; a floor on how long the known-exploited flaw sat in the public record before the federal catalog listed it. Severity/weakness here is CNA- or CISA-assigned (current at disclosure), independent of NVD's analysis backlog.
Public exploit available
Public exploit tooling is catalogued for this CVE (a functional/weaponized public exploit). Catalog entries: Metasploit module, nuclei template. We link the catalog page(s) only — no payload or code is hosted or restated here.Link, never host — the catalog page is the source; basicsecurity.net does not redistribute payloads.
02

Who’s exploiting it?

— attribution turns risk into urgency
Attribution not established

No confirmed (advisory-backed) threat-actor attribution is established for this record. Absence of a named actor is not absence of compromise — see Coverage & confidence.

03

Why it matters

— the attack path, told twice: adversary, then board
1

Front door — unauthenticated access narrative 1

Attacker
I craft a malicious HTTP request containing OGNL expressions embedded in tag attribute values.
Business
The organization's web application processes untrusted input without proper sanitization, creating an entry point for code injection attacks.
2

Keys to the kingdom — privilege/identity takeover narrative 2

Attacker
I send the request to the vulnerable Struts application, which evaluates my OGNL payload as part of tag processing.
Business
The application server executes arbitrary code with the privileges of the web service process, bypassing all application-level access controls.
3

Lateral reach — past segmentation narrative 3

Attacker
I execute system commands or deploy a web shell to maintain persistent access to the compromised server.
Business
Attackers gain full control of the affected system, enabling data theft, lateral movement, and infrastructure compromise.
04

What to do

— defensible action
  • Remediate per the vendor advisory — confirm the fixed build for your version and verify exposure.1
Say it to the boardA vulnerability with this evidence profile is a defensible budget line, not a backlog ticket — fund the change against the proof above.
05

Coverage & confidence

— what we know, and what we don’t

Established (cited)

  • KEV listing (CISA)
  • EPSS probability (FIRST)
  • Weaponized exploit available (VulnCheck)
  • 4 reported-exploitation source(s)
  • CVSS 9.8 — CISA-assigned (CVE.org ADP)
  • CISA SSVC triage disposition (CVE.org ADP)
  • CWE weakness mapping (NVD feed — CNA left none)
  • Public exploit availability
  • Catalogued by apache (CNA)
  • Coverage gaps — stated, not hidden

  • No EUVD / GCVE mirror in feed — single-authority dependency for the identifier.
  • EPSS & exposure are time-varying; verify live at the source.
  • Threat-actor attribution not established from feed data — absence of a name is not absence of compromise.
  • No finder/reporter credit recorded in the public CVE entry — the work behind this find is unattributed.
  • Disclosure & credit2
    Catalogued by apacheCNA
    Credited with finding itNo finder named in the public CVE record — the work behind this find is unattributed.