CISA KEV · catalog date Feb 10, 2022 · first observed Jul 19, 2026
Evidence dossier
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.
Exploited in the wild (CISA KEV since Feb 10, 2022). NVD reports CVSS 3.1 9.8. EPSS estimates 98.9% exploit likelihood as of Aug 8, 2026.
As of Aug 27, 2026
Normalized restatement
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.
- State
- PUBLISHED
- Published
- Jul 10, 2017
- Updated
- Oct 21, 2025
- Evidence coverage
- 99%
Evidence chronology
What was known when
- Source dateSource date omittedFirst observed by CASCAapacheOriginal evidence ↗
Record text: 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.
Inspect raw assertion
- Field
container- Value
- 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.
- Source dateSource date omittedFirst observed by CASCACISA-ADPOriginal evidence ↗
Record text: CISA ADP Vulnrichment
Inspect raw assertion
- Field
container- Value
- CISA ADP Vulnrichment
- Source dateSource date omittedFirst observed by CASCACVE ProgramOriginal evidence ↗
Record text: CVE Program Container
Inspect raw assertion
- Field
container- Value
- CVE Program Container
- Source dateFirst observed by CASCACISA KEVOriginal evidence ↗
Exploitation cataloged: Apache Struts 1 Improper Input Validation Vulnerability
Inspect raw assertion
- Field
observed_exploitation- Value
- Apache Struts 1 Improper Input Validation Vulnerability
- Source dateFirst observed by CASCAFIRST EPSSOriginal evidence ↗
EPSS score: 98.91% probability · 99.92th percentile
Inspect raw assertion
- Field
model_probability- Value
- Probability 0.989080000000; percentile 0.999230000000
FIRST EPSS · score date Aug 8, 2026 · 99.9th percentile · first observed Aug 8, 2026
NVD · CVSS 3.1 · first observed Jul 19, 2026 · same-version scores align in this snapshot
Evidence detail
Source limits and decisions
Why each evidence state has this value
Outside this view’s verified evidenceReason detail begins outside this selected snapshot; the state remains source-bound.
Source comparison
Who said what
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.
Inspect raw assertion
- Field
container- Value
- 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.
CISA ADP Vulnrichment
Inspect raw assertion
- Field
container- Value
- CISA ADP Vulnrichment
CVE Program Container
Inspect raw assertion
- Field
container- Value
- CVE Program Container
Apache Struts 1 Improper Input Validation Vulnerability
Inspect raw assertion
- Field
observed_exploitation- Value
- Apache Struts 1 Improper Input Validation Vulnerability
98.91% probability · 99.92th percentile
Inspect raw assertion
- Field
model_probability- Value
- Probability 0.989080000000; percentile 0.999230000000
Applicability
Cited product scope
Grouped from 1 configuration nodes in this exact snapshot. Visual grouping is navigational; asset exposure and root cause require cited evidence.
Identity source boundaries
- Cpe dictionary1,775,266 records · observed through 2026-07-21T06:45:29.809Z
27d65b0f-b718-4b4f-bb79-c47c68d09dfa - Cpe match643,502 records · observed through 2026-07-21T08:13:17.697Z
955dae73-7302-438b-aee1-058d7cc5d48e
2 scope groups
Canonical linkage remains open; the cited source assertion is retained below.
Inspect raw assertion
[{"status": "affected", "version": "2.1.x series"}, {"status": "affected", "version": "2.3.x series"}]product-9cd0052bcd831ad951c3a83f953006d77d3ff2278903b02b620cad9fb02389e0Linked exactInspect raw assertions
cpe:2.3:a:apache:struts:2.3.4.1:*:*:*:*:*:*:*- Official link
- Linked exact
- Role
- Vulnerable target
- Configuration
- 0 · node/0 · match 5
- Logic
- OR
- Version bounds
- No explicit bounds
- Match ID
bdc41957-8cca-46a6-bd31-4039eef3c457
cpe:2.3:a:apache:struts:2.3.24.3:*:*:*:*:*:*:*- Official link
- Linked exact
- Role
- Vulnerable target
- Configuration
- 0 · node/0 · match 26
- Logic
- OR
- Version bounds
- No explicit bounds
- Match ID
71823e13-1896-4ee4-a49c-cffb717ffd80
cpe:2.3:a:apache:struts:2.3.15:*:*:*:*:*:*:*- Official link
- Linked exact
- Role
- Vulnerable target
- Configuration
- 0 · node/0 · match 13
- Logic
- OR
- Version bounds
- No explicit bounds
- Match ID
44527919-8403-42a8-9ce1-3b4f58630f34
cpe:2.3:a:apache:struts:2.3.14.3:*:*:*:*:*:*:*- Official link
- Linked exact
- Role
- Vulnerable target
- Configuration
- 0 · node/0 · match 12
- Logic
- OR
- Version bounds
- No explicit bounds
- Match ID
d25ed06a-f12c-443e-9b3f-fddf52fe9d93
cpe:2.3:a:apache:struts:2.3.8:*:*:*:*:*:*:*- Official link
- Linked exact
- Role
- Vulnerable target
- Configuration
- 0 · node/0 · match 7
- Logic
- OR
- Version bounds
- No explicit bounds
- Match ID
2481505c-4fd1-4195-9e10-9dd741498fb2
cpe:2.3:a:apache:struts:2.3.16.3:*:*:*:*:*:*:*- Official link
- Linked exact
- Role
- Vulnerable target
- Configuration
- 0 · node/0 · match 20
- Logic
- OR
- Version bounds
- No explicit bounds
- Match ID
8dc883a7-0766-4857-abc8-9db4ba713650
cpe:2.3:a:apache:struts:2.3.1.1:*:*:*:*:*:*:*- Official link
- Linked exact
- Role
- Vulnerable target
- Configuration
- 0 · node/0 · match 1
- Logic
- OR
- Version bounds
- No explicit bounds
- Match ID
0d152b29-fad5-4dea-b187-278ebd37feb4
cpe:2.3:a:apache:struts:2.3.14:*:*:*:*:*:*:*- Official link
- Linked exact
- Role
- Vulnerable target
- Configuration
- 0 · node/0 · match 9
- Logic
- OR
- Version bounds
- No explicit bounds
- Match ID
38a6ceed-6c43-4325-b36c-9f254ccdfdc0
cpe:2.3:a:apache:struts:2.3.24:*:*:*:*:*:*:*- Official link
- Linked exact
- Role
- Vulnerable target
- Configuration
- 0 · node/0 · match 24
- Logic
- OR
- Version bounds
- No explicit bounds
- Match ID
524c5119-416d-413b-bf1d-29291e23fdb2
cpe:2.3:a:apache:struts:2.3.7:*:*:*:*:*:*:*- Official link
- Linked exact
- Role
- Vulnerable target
- Configuration
- 0 · node/0 · match 6
- Logic
- OR
- Version bounds
- No explicit bounds
- Match ID
443b4e64-2a36-49c6-b09d-77b3bdf69709
cpe:2.3:a:apache:struts:2.3.3:*:*:*:*:*:*:*- Official link
- Linked exact
- Role
- Vulnerable target
- Configuration
- 0 · node/0 · match 3
- Logic
- OR
- Version bounds
- No explicit bounds
- Match ID
a92aae08-4811-465a-8178-25f5f349b8ba
cpe:2.3:a:apache:struts:2.3.14.2:*:*:*:*:*:*:*- Official link
- Linked exact
- Role
- Vulnerable target
- Configuration
- 0 · node/0 · match 11
- Logic
- OR
- Version bounds
- No explicit bounds
- Match ID
be6820e3-8fdf-4bdf-8b62-e604a91f1280
cpe:2.3:a:apache:struts:2.3.29:*:*:*:*:*:*:*- Official link
- Linked exact
- Role
- Vulnerable target
- Configuration
- 0 · node/0 · match 29
- Logic
- OR
- Version bounds
- No explicit bounds
- Match ID
0afa78dd-b60c-46ad-bccb-4e15bb16bedc
cpe:2.3:a:apache:struts:2.3.28.1:*:*:*:*:*:*:*- Official link
- Linked exact
- Role
- Vulnerable target
- Configuration
- 0 · node/0 · match 28
- Logic
- OR
- Version bounds
- No explicit bounds
- Match ID
067f6249-cc5a-4402-843c-06d5f9f77267
cpe:2.3:a:apache:struts:2.3.16.2:*:*:*:*:*:*:*- Official link
- Linked exact
- Role
- Vulnerable target
- Configuration
- 0 · node/0 · match 19
- Logic
- OR
- Version bounds
- No explicit bounds
- Match ID
1225a0b0-c3f2-4579-bfe9-f8db2cf596f6
cpe:2.3:a:apache:struts:2.3.20.1:*:*:*:*:*:*:*- Official link
- Linked exact
- Role
- Vulnerable target
- Configuration
- 0 · node/0 · match 22
- Logic
- OR
- Version bounds
- No explicit bounds
- Match ID
6d1467bc-9bc8-402d-a420-615cf9698648
cpe:2.3:a:apache:struts:2.3.1:*:*:*:*:*:*:*- Official link
- Linked exact
- Role
- Vulnerable target
- Configuration
- 0 · node/0 · match 0
- Logic
- OR
- Version bounds
- No explicit bounds
- Match ID
4e3316da-9e34-4955-91ca-e35b141a7007
cpe:2.3:a:apache:struts:2.3.16.1:*:*:*:*:*:*:*- Official link
- Linked exact
- Role
- Vulnerable target
- Configuration
- 0 · node/0 · match 18
- Logic
- OR
- Version bounds
- No explicit bounds
- Match ID
eb3d5644-cfac-4fb5-a1fb-387f97876098
cpe:2.3:a:apache:struts:2.3.15.3:*:*:*:*:*:*:*- Official link
- Linked exact
- Role
- Vulnerable target
- Configuration
- 0 · node/0 · match 16
- Logic
- OR
- Version bounds
- No explicit bounds
- Match ID
f10d559e-04a0-4002-947c-d3902138795b
cpe:2.3:a:apache:struts:2.3.15.1:*:*:*:*:*:*:*- Official link
- Linked exact
- Role
- Vulnerable target
- Configuration
- 0 · node/0 · match 14
- Logic
- OR
- Version bounds
- No explicit bounds
- Match ID
ebb91d8a-14b8-4263-b90d-f776535f9b8f
cpe:2.3:a:apache:struts:2.3.20.3:*:*:*:*:*:*:*- Official link
- Linked exact
- Role
- Vulnerable target
- Configuration
- 0 · node/0 · match 23
- Logic
- OR
- Version bounds
- No explicit bounds
- Match ID
880aea69-3705-447d-80ff-60753248158f
cpe:2.3:a:apache:struts:2.3.20:*:*:*:*:*:*:*- Official link
- Linked exact
- Role
- Vulnerable target
- Configuration
- 0 · node/0 · match 21
- Logic
- OR
- Version bounds
- No explicit bounds
- Match ID
22ff6282-0bca-46eb-9648-6ee3eda189f2
cpe:2.3:a:apache:struts:2.3.14.1:*:*:*:*:*:*:*- Official link
- Linked exact
- Role
- Vulnerable target
- Configuration
- 0 · node/0 · match 10
- Logic
- OR
- Version bounds
- No explicit bounds
- Match ID
41f43088-26aa-4890-a9d6-1b9b48d5f02a
cpe:2.3:a:apache:struts:2.3.12:*:*:*:*:*:*:*- Official link
- Linked exact
- Role
- Vulnerable target
- Configuration
- 0 · node/0 · match 8
- Logic
- OR
- Version bounds
- No explicit bounds
- Match ID
28ed63db-2aaf-4bc9-a844-074edf63c89a
cpe:2.3:a:apache:struts:2.3.15.2:*:*:*:*:*:*:*- Official link
- Linked exact
- Role
- Vulnerable target
- Configuration
- 0 · node/0 · match 15
- Logic
- OR
- Version bounds
- No explicit bounds
- Match ID
fb525941-7175-43c1-9f17-814f5f7c72ca
cpe:2.3:a:apache:struts:2.3.28:*:*:*:*:*:*:*- Official link
- Linked exact
- Role
- Vulnerable target
- Configuration
- 0 · node/0 · match 27
- Logic
- OR
- Version bounds
- No explicit bounds
- Match ID
c778aded-75b5-4ad3-8cdc-efdffad5a742
cpe:2.3:a:apache:struts:2.3.1.2:*:*:*:*:*:*:*- Official link
- Linked exact
- Role
- Vulnerable target
- Configuration
- 0 · node/0 · match 2
- Logic
- OR
- Version bounds
- No explicit bounds
- Match ID
2ac68463-f500-471c-8600-8f8fd9743b12
cpe:2.3:a:apache:struts:2.3.31:*:*:*:*:*:*:*- Official link
- Linked exact
- Role
- Vulnerable target
- Configuration
- 0 · node/0 · match 31
- Logic
- OR
- Version bounds
- No explicit bounds
- Match ID
f327a6ea-69af-4eb2-8f17-8011678fab6d
cpe:2.3:a:apache:struts:2.3.4:*:*:*:*:*:*:*- Official link
- Linked exact
- Role
- Vulnerable target
- Configuration
- 0 · node/0 · match 4
- Logic
- OR
- Version bounds
- No explicit bounds
- Match ID
b487975d-6394-4136-b45c-c1f209465b24
cpe:2.3:a:apache:struts:2.3.30:*:*:*:*:*:*:*- Official link
- Linked exact
- Role
- Vulnerable target
- Configuration
- 0 · node/0 · match 30
- Logic
- OR
- Version bounds
- No explicit bounds
- Match ID
1da1eabe-5292-44c2-8327-54201a42f204
cpe:2.3:a:apache:struts:2.3.32:*:*:*:*:*:*:*- Official link
- Linked exact
- Role
- Vulnerable target
- Configuration
- 0 · node/0 · match 32
- Logic
- OR
- Version bounds
- No explicit bounds
- Match ID
603faa0c-0908-4105-be3a-016b4a298264
cpe:2.3:a:apache:struts:2.3.16:*:*:*:*:*:*:*- Official link
- Linked exact
- Role
- Vulnerable target
- Configuration
- 0 · node/0 · match 17
- Logic
- OR
- Version bounds
- No explicit bounds
- Match ID
89203dd8-2c95-4546-9504-83654ffa5dbc
cpe:2.3:a:apache:struts:2.3.24.1:*:*:*:*:*:*:*- Official link
- Linked exact
- Role
- Vulnerable target
- Configuration
- 0 · node/0 · match 25
- Logic
- OR
- Version bounds
- No explicit bounds
- Match ID
45446b16-f531-4c6d-b889-a8a6622c70a2
Affected-product evidence
Accepted scope and product mapping
0 canonical links · 0 source-reported links
Applicability remains source-scoped; safety and exposure remain unassessed.
Assessments
CVSS by origin
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HAV:N/AC:L/Au:N/C:P/I:P/A:PCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HEvidence boundaries
- KEV membership is authoritative for the catalog, not proof of exposure in any environment.
- EPSS is a dated model probability and not an individual-environment prediction.
- Affected or fixed status applies only to the exact cited product and version scope; remaining scope stays source-scoped.
- NVD-carried upstream facts remain derivative; independent corroboration requires a separately authored source.
- Only NVD metrics validated under the generation-bound calculator are Public Priority eligible; direct CVE record metrics remain display-only.
- NVD CVSS source eligibility is closed: NVD-authored, exact record-source, or registered same-CVE container origin; unmapped sources remain display-only.
- Affected-product evidence remains source-scoped; canonical linkage is required before applicability scoring.
- Core replay supports the active and immediately prior generation; retrospective valid-at replay is deferred.
- OSV aggregation and OSV-converted NVD material are not independent corroboration.
- Red Hat facts are vendor assertions for the exact supplied products.
- Nonmembership and not-yet-observed states are not proof of safety.