Skip to main content
ExploitedIn CISA KEVFix available

CVE-2017-9791

Exploitation confirmed. First attested on 2022-02-10 by CISA-ADP, CISA KEV, GCVE · kevintel, GCVE · shadowserver.

  • Published2017-07-10
  • WeaknessCWE-20

Am I affected?

With a domain, we read the version its public headers and pages expose. A distribution build can carry the fix under an older number.

Description

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.

Timeline

dates in UTC
  1. 2017-07-1016:29CVE publishedNVD
  2. 2022-02-10Listed as exploited by GCVEGCVE
  3. 2022-02-10Exploitation first reportedCISA KEV
  4. 2022-02-10Added to the CISA KEV catalogCISA KEV
  5. 2025-02-0621:07SSVC exploitation set to activeCISA-ADP
  6. 2026-10-2319:23First public proof of conceptPoC-in-GitHub
  7. 2026-10-2319:23EPSS crossed 10 %FIRST EPSS

Observed activity

isMalicious corpus · updated 2026-10-23 18:48 UTC
Indicators tagged with this CVE, per day0 indicators over 7 days
Block these indicators
  • Firewall list (EDL, text): https://api.ismalicious.com/edl/cve/CVE-2017-9791?format=txt
  • CSV export: https://api.ismalicious.com/edl/cve/CVE-2017-9791?format=csv
  • TAXII collection of exploited CVEs
  • The EDL and CSV take an API key on the Pro plan.

Versions per branch

NVD
Apache struts
BranchAffectedFixed in
2.3= 2.3.1no fix published
2.3= 2.3.1.1no fix published
2.3= 2.3.1.2no fix published
2.3= 2.3.3no fix published
2.3= 2.3.4no fix published
2.3= 2.3.4.1no fix published
2.3= 2.3.7no fix published
2.3= 2.3.8no fix published
2.3= 2.3.12no fix published
2.3= 2.3.14no fix published
2.3= 2.3.14.1no fix published
2.3= 2.3.14.2no fix published

as publishedRanges as NVD and OSV publish them; a distribution’s build can be fixed under an older number.

Fix

  1. CISA’s required action: Apply updates per vendor instructions.due 2022-08-10

Advisories and patches

Detection

read 2026-10-23 19:23 UTC
Nuclei template
none so far
ProjectDiscovery
Exploit-DB
EDB-42324EDB-44643
Exploit-DB
Proof-of-concept repositories
3 repositories, unverifiedIanSmith123/s2-048dragoneeg/Struts2-048xfer0/CVE-2017-9791
PoC-in-GitHub

CISA Known Exploited Vulnerability

Date Added
2022-02-10
Patch Due Date
2022-08-10
Ransomware Use
Unknown
Required Action
Apply updates per vendor instructions.

Sources

Technical details

CVSS v3 Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Published
2017-07-10
Last Modified
2026-06-17
NVD status
Analyzed

Frequently asked questions

What is CVE-2017-9791?

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.

Is CVE-2017-9791 actively exploited?

Yes. CVE-2017-9791 is on the CISA Known Exploited Vulnerabilities (KEV) catalog, meaning it has been confirmed as actively exploited in the wild. CISA requires federal agencies to patch by 2022-08-10.

What is the CVSS score for CVE-2017-9791?

CVE-2017-9791 has a CVSS v3 base score of 9.8 (CRITICAL severity), with vector string CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H.

Hear about the next vulnerability in your software

Surveillance reads the versions in your stack — a domain, a lockfile or a list — checks each CVE against the ranges its sources publish, and alerts you when one you run is exploited or enters CISA KEV. A version it cannot read stays « version not verified ».

No credit card required · No monthly cap on website lookups · 250 API requests/month