CVE-2017-9791

Exp

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.

Published: 2017-07-10 Last update: 2026-04-21 Assigner: [email protected] Source: [email protected]

Conclusion & alert: CVE-2017-9791 is rated Critical Active Threat (99.1/100): CVSS Critical severity, with high exploitation likelihood (EPSS 94.13%, 100th percentile). Core evidence: CISA KEV confirms active exploitation (added 2022-02-10) affecting Apache / Struts 1. a weakness (CWE-20) Unauthenticated remote administrative access may be possible. Mandatory action: The CISA remediation deadline has passed—treat as an emergency patch priority.

Risk is dynamic; we continuously reassess and refresh what is shown on this page as upstream context changes.

CISA KEV Record for CVE-2017-9791

Name: Apache Struts 1 Improper Input Validation Vulnerability · CISA KEV detail

Exploit added: 2022-02-10

Action due: 2022-08-10

Required action: Apply updates per vendor instructions.

Public exploit references (Exploit-DB) for CVE-2017-9791

EDB-ID Source Kind Published Link
44643 exploit_db edb 2018-05-17 Exploit-DB ↗
42324 exploit_db edb 2017-07-07 Exploit-DB ↗

Exploit prediction scoring system (EPSS) score for CVE-2017-9791

EPSS lead: Daily EPSS estimates relative likelihood of exploitation; percentile ranks this CVE among scored vulnerabilities (higher = more severe relative rank).

# Date Old EPSS score New EPSS score Delta (New - Old)
1 2026-04-22 94.24% 94.13% -0.11%
2 2025-11-21 94.05% 94.24% +0.19%
3 2025-11-18 94.05%

Full EPSS history (10 records total)

Common vulnerability scoring system (CVSS) metrics for CVE-2017-9791

CVSS metrics for this CVE.

Base score Version Severity Vector Exploitability Impact Score source
9.8 3.1 CRITICAL
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H Click to expand
Attack vector (AV:N)
Could be attacked over the internet or any normal routed network—not just someone sitting at the machine.
Attack complexity (AC:L)
Once they can reach the bug, pulling it off is straightforward—no weird race conditions or rare setup.
Privileges required (PR:N)
No account or special rights needed—anonymous or random user is enough.
User interaction (UI:N)
Nobody has to click “OK” or open a trap file; it can work without a victim helping.
Scope (S:U)
Damage stays in the same “trust bubble” as the broken component—no big spill into unrelated systems.
Confidentiality (C:H)
Serious risk that confidential data gets exposed in a big way.
Integrity (I:H)
They could widely tamper with or forge data—trust in the data is badly hurt.
Availability (A:H)
Could take the service down hard or make it unusable for people who depend on it.
3.9 5.9 [email protected]
9.8 3.1 CRITICAL
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H Click to expand
Attack vector (AV:N)
Could be attacked over the internet or any normal routed network—not just someone sitting at the machine.
Attack complexity (AC:L)
Once they can reach the bug, pulling it off is straightforward—no weird race conditions or rare setup.
Privileges required (PR:N)
No account or special rights needed—anonymous or random user is enough.
User interaction (UI:N)
Nobody has to click “OK” or open a trap file; it can work without a victim helping.
Scope (S:U)
Damage stays in the same “trust bubble” as the broken component—no big spill into unrelated systems.
Confidentiality (C:H)
Serious risk that confidential data gets exposed in a big way.
Integrity (I:H)
They could widely tamper with or forge data—trust in the data is badly hurt.
Availability (A:H)
Could take the service down hard or make it unusable for people who depend on it.
3.9 5.9 134c704f-9b21-4f2e-91b3-4a467353bcc0
7.5 2.0 HIGH
AV:N/AC:L/Au:N/C:P/I:P/A:P Click to expand
Access vector (AV:N)
Can be exploited remotely over network reachability.
Access complexity (AC:L)
Exploitation conditions are straightforward and predictable.
Authentication (AU:N)
No authentication is required.
Confidentiality impact (C:P)
Partial confidentiality impact.
Integrity impact (I:P)
Partial integrity impact.
Availability impact (A:P)
Partial availability impact.
10.0 6.4 [email protected]

Weakness enumeration for CVE-2017-9791

GitHub Security Advisory for CVE-2017-9791

GHSA-29rm-6752-gvwv · Severity: critical · Ecosystem: maven — Code execution in Apache Struts 1 plugin

OS Trackers for CVE-2017-9791

vendor priority summary link
redhat high https://access.redhat.com/security/cve/CVE-2017-9791
ubuntu high CVE-2017-9791 high priority: Ubuntu including 1 source packages (libstruts1.2-java), 5 status rows across 5 suites (trusty, upstream, xenial, yakkety, zesty): DNE 4, needs-triage 1. https://ubuntu.com/security/CVE-2017-9791

Affected software / configurations for CVE-2017-9791

Vendor Product Version Raw CPE
apache struts 2.3.1 cpe:2.3:a:apache:struts:2.3.1:*:*:*:*:*:*:*
apache struts 2.3.1.1 cpe:2.3:a:apache:struts:2.3.1.1:*:*:*:*:*:*:*
apache struts 2.3.1.2 cpe:2.3:a:apache:struts:2.3.1.2:*:*:*:*:*:*:*
apache struts 2.3.3 cpe:2.3:a:apache:struts:2.3.3:*:*:*:*:*:*:*
apache struts 2.3.4 cpe:2.3:a:apache:struts:2.3.4:*:*:*:*:*:*:*
apache struts 2.3.4.1 cpe:2.3:a:apache:struts:2.3.4.1:*:*:*:*:*:*:*
apache struts 2.3.7 cpe:2.3:a:apache:struts:2.3.7:*:*:*:*:*:*:*
apache struts 2.3.8 cpe:2.3:a:apache:struts:2.3.8:*:*:*:*:*:*:*
apache struts 2.3.12 cpe:2.3:a:apache:struts:2.3.12:*:*:*:*:*:*:*
apache struts 2.3.14 cpe:2.3:a:apache:struts:2.3.14:*:*:*:*:*:*:*
apache struts 2.3.14.1 cpe:2.3:a:apache:struts:2.3.14.1:*:*:*:*:*:*:*
apache struts 2.3.14.2 cpe:2.3:a:apache:struts:2.3.14.2:*:*:*:*:*:*:*
apache struts 2.3.14.3 cpe:2.3:a:apache:struts:2.3.14.3:*:*:*:*:*:*:*
apache struts 2.3.15 cpe:2.3:a:apache:struts:2.3.15:*:*:*:*:*:*:*
apache struts 2.3.15.1 cpe:2.3:a:apache:struts:2.3.15.1:*:*:*:*:*:*:*
apache struts 2.3.15.2 cpe:2.3:a:apache:struts:2.3.15.2:*:*:*:*:*:*:*
apache struts 2.3.15.3 cpe:2.3:a:apache:struts:2.3.15.3:*:*:*:*:*:*:*
apache struts 2.3.16 cpe:2.3:a:apache:struts:2.3.16:*:*:*:*:*:*:*
apache struts 2.3.16.1 cpe:2.3:a:apache:struts:2.3.16.1:*:*:*:*:*:*:*
apache struts 2.3.16.2 cpe:2.3:a:apache:struts:2.3.16.2:*:*:*:*:*:*:*
apache struts 2.3.16.3 cpe:2.3:a:apache:struts:2.3.16.3:*:*:*:*:*:*:*
apache struts 2.3.20 cpe:2.3:a:apache:struts:2.3.20:*:*:*:*:*:*:*
apache struts 2.3.20.1 cpe:2.3:a:apache:struts:2.3.20.1:*:*:*:*:*:*:*
apache struts 2.3.20.3 cpe:2.3:a:apache:struts:2.3.20.3:*:*:*:*:*:*:*
apache struts 2.3.24 cpe:2.3:a:apache:struts:2.3.24:*:*:*:*:*:*:*
apache struts 2.3.24.1 cpe:2.3:a:apache:struts:2.3.24.1:*:*:*:*:*:*:*
apache struts 2.3.24.3 cpe:2.3:a:apache:struts:2.3.24.3:*:*:*:*:*:*:*
apache struts 2.3.28 cpe:2.3:a:apache:struts:2.3.28:*:*:*:*:*:*:*
apache struts 2.3.28.1 cpe:2.3:a:apache:struts:2.3.28.1:*:*:*:*:*:*:*
apache struts 2.3.29 cpe:2.3:a:apache:struts:2.3.29:*:*:*:*:*:*:*
apache struts 2.3.30 cpe:2.3:a:apache:struts:2.3.30:*:*:*:*:*:*:*
apache struts 2.3.31 cpe:2.3:a:apache:struts:2.3.31:*:*:*:*:*:*:*
apache struts 2.3.32 cpe:2.3:a:apache:struts:2.3.32:*:*:*:*:*:*:*

References for CVE-2017-9791

cvelogic Threat Intelligence