CVE-2017-9804 json
Apache Struts allows entering a custom URL in a form field if built-in URLValidator is used
published 2017-09-20 9 y ago modified 2026-06-17 4 mo ago also GHSA-x5x7-3v85-wpc4 , EUVD-2018-0711
- cvss
- 7.5
- version 3.0, NVD
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 8.2%
- EPSS 8.2% chance of exploitation in 30 days, percentile 94%
- public exploits
- 0
- none known
Summary
In Apache Struts 2.3.7 through 2.3.33 and 2.5 through 2.5.12, if an application allows entering a URL in a form field and built-in URLValidator is used, it is possible to prepare a special URL which will be used to overload server process when performing validation of the URL. NOTE: this vulnerability exists because of an incomplete fix for S2-047 / CVE-2017-7672.
Patch / fix
- maven org.apache.struts:struts2-core 2.3.34, 2.5.13
Vendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2017-9804 updated cvss 3.7
struts: A regular expression Denial of Service when using URLValidator
-
Red Hat Enterprise Linux 5 struts Red Hat JBoss Data Virtualization 6 struts struts Red Hat JBoss Fuse Service Works 6 struts struts Red Hat JBoss Operations Network 3 struts struts Red Hat Satellite 5 strutsnot affected: vulnerable code not present
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
Exploit prediction
8.24% chance of exploitation in the next 30 days, higher than 94% of all scored CVEs (FIRST EPSS, 2026-11-09).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| NVD | 3.0 | 7.5 | CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H |
| NVD | 2.0 | 5.0 | AV:N/AC:L/Au:N/C:N/I:N/A:P |
| GitHub | 3.0 | 7.5 | CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| maven | org.apache.struts:struts2-core | >=2.3.7, <2.3.34 >=2.5.0, <2.5.13 |
2.3.34 2.5.13 |
Affected products
- Apache Software Foundation Apache Struts
Classification
- Weakness
-
- CWE-20 Improper Input Validation
References
-
oracle.com
/technetwork/security-advisory/alert-cve-2017-9805-3889403.html
web, patch, third-party-advisory
-
struts.apache.org
/docs/s2-050.html
web, patch, vendor-advisory
-
github.com
/apache/struts/commit/418a20c0594f23764fe29ced400c1219239899a
web
-
tools.cisco.com
/security/center/content/CiscoSecurityAdvisory/cisco-sa-20170907-struts2
vendor-advisory, web, third-party-advisory
-
securityfocus.com
/bid/100612
vdb-entry, third-party-advisory
- security.netapp.com /advisory/ntap-20180629-0001/
-
arubanetworks.com
/assets/alert/ARUBA-PSA-2017-003.txt
web, third-party-advisory
-
securitytracker.com
/id/1039261
vdb-entry, third-party-advisory
-
nvd.nist.gov
/vuln/detail/CVE-2017-9804
advisory
-
github.com
/apache/struts
package
-
security.netapp.com
/advisory/ntap-20180629-0001
web
-
web.archive.org
/web/20171113165852/http://www.securityfocus.com/bid/100612
web
-
web.archive.org
/web/20201021075553/http://www.securitytracker.com/id/1039261
web
Sources
- CVE List CVE-2017-9804
- GitHub Advisory GHSA-x5x7-3v85-wpc4
- NVD CVE-2017-9804
Fencer Intel keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.