7.5high

CVE-2017-9804

Apache Struts allows entering a custom URL in a form field if built-in URLValidator is used

Also known as GHSA-x5x7-3v85-wpc4

Published 9 y ago · modified 4 mo ago · JSON

CVSS
7.5
v3.0 · NVD
CISA KEV
No
not known exploited
EPSS
8.2%
percentile 95%
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.

Exploit prediction (EPSS)

8.24% probability of exploitation in the next 30 days, higher than 95% of all scored CVEs.

CVSS scores

Assigned byVersionScoreVector
NVD3.07.5CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
NVD2.05.0AV:N/AC:L/Au:N/C:N/I:N/A:P
GitHub3.07.5CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

Affected packages

EcosystemPackageAffectedFixed in
mavenorg.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 · x_refsource_CONFIRM, x_transferred
  • tools.cisco.com /security/center/content/CiscoSecurityAdvisory/cisco-sa-20170907-struts2 · vendor-advisory, x_refsource_CISCO, x_transferred
  • securityfocus.com /bid/100612 · vdb-entry, x_refsource_BID, x_transferred
  • security.netapp.com /advisory/ntap-20180629-0001/ · x_refsource_CONFIRM, x_transferred
  • arubanetworks.com /assets/alert/ARUBA-PSA-2017-003.txt · x_refsource_CONFIRM, x_transferred
  • securitytracker.com /id/1039261 · vdb-entry, x_refsource_SECTRACK, x_transferred
  • struts.apache.org /docs/s2-050.html · x_refsource_CONFIRM, x_transferred
  • nvd.nist.gov /vuln/detail/CVE-2017-9804 · advisory
  • github.com /apache/struts/commit/418a20c0594f23764fe29ced400c1219239899a · web
  • 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

vulnwire keeps one entry per vulnerability: the CVE id wins, then GHSA; records that alias each other are merged. Machine-readable: JSON.