Skip to content
Fencer Vulns
high 7.5

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

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 struts
    not 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-08).

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

Sources

Fencer Vulns 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.