CVE-2016-4003
Cross-site Scripting in Apache Struts
Cross-site scripting (XSS) vulnerability in the URLDecoder function in JRE before 1.8, as used in Apache Struts 2.x before 2.3.28, when using a single byte page encoding, allows remote attackers to inject arbitrary web script or HTML via multi-byte characters in a url-encoded parameter.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- Required
What an attacker can affect
- Confidentiality
- Low
- Integrity
- Low
- Availability
- None
Exploit likelihood
What each source reports
NVD Score used
6.1
Cross-site scripting (XSS) vulnerability in the URLDecoder function in JRE before 1.8, as used in Apache Struts 2.x before 2.3.28, when using a single byte page encoding, allows remote attackers to inject arbitrary web script or HTML via multi-byte characters in a url-encoded parameter.
- Record
CVE-2016-4003- CVSS 3.0
- 6.1 Medium
CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N - CVSS 2.0
- 4.3 Medium
AV:N/AC:M/Au:N/C:N/I:P/A:N - Weakness
- CWE-79
- Updated
- 2026-11-02
CVE List No score
Cross-site scripting (XSS) vulnerability in the URLDecoder function in JRE before 1.8, as used in Apache Struts 2.x before 2.3.28, when using a single byte page encoding, allows remote attackers to inject arbitrary web script or HTML via multi-byte characters in a url-encoded parameter.
- Record
CVE-2016-4003- Updated
- 2026-11-02
EUVDEUVD-2022-4483 No score
Cross-site scripting (XSS) vulnerability in the URLDecoder function in JRE before 1.8, as used in Apache Struts 2.x before 2.3.28, when using a single byte page encoding, allows remote attackers to inject arbitrary web script or HTML via multi-byte characters in a url-encoded parameter.
- Record
EUVD-2022-4483- Updated
- 2026-11-03
GitHub AdvisoriesGHSA-m3x6-9v6h-4g28
6.1
Cross-site Scripting in Apache Struts
Cross-site scripting (XSS) vulnerability in the URLDecoder function in JRE before 1.8, as used in Apache Struts 2.x before 2.3.28, when using a single byte page encoding, allows remote attackers to inject arbitrary web script or HTML via multi-byte characters in a url-encoded parameter.
- Record
GHSA-m3x6-9v6h-4g28- CVSS 3.0
- 6.1 Medium
CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N - Weakness
- CWE-79
- Updated
- 2026-11-02
OSV
6.1
Cross-site scripting (XSS) vulnerability in the URLDecoder function in JRE before 1.8, as used in Apache Struts 2.x before 2.3.28, when using a single byte page encoding, allows remote attackers to inject arbitrary web script or HTML via multi-byte characters in a url-encoded parameter.
- Record
CVE-2016-4003- CVSS 3.0
- 6.1 Medium
CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N - Updated
- 2026-11-02
OSVGHSA-m3x6-9v6h-4g28
6.1
Cross-site Scripting in Apache Struts
Cross-site scripting (XSS) vulnerability in the URLDecoder function in JRE before 1.8, as used in Apache Struts 2.x before 2.3.28, when using a single byte page encoding, allows remote attackers to inject arbitrary web script or HTML via multi-byte characters in a url-encoded parameter.
- Record
GHSA-m3x6-9v6h-4g28- CVSS 3.0
- 6.1 Medium
CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N - Weakness
- CWE-79
- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
org.apache.struts:struts2-coreMaven |
2.0.0 up to 2.3.28 | 2.3.28 |
org.apache.struts:struts2-coreMaven |
2.0.0 up to 2.3.28, plus listed versions 2.0.112.0.11.12.0.11.22.0.122.0.14 Show 39 moreShow less2.0.52.0.62.0.82.0.92.1.22.1.62.1.82.1.8.12.2.12.2.1.12.2.32.2.3.12.3.12.3.1.12.3.1.22.3.122.3.142.3.14.12.3.14.22.3.14.32.3.152.3.15.12.3.15.22.3.15.32.3.162.3.16.12.3.16.22.3.16.32.3.202.3.20.12.3.20.32.3.242.3.24.12.3.24.32.3.32.3.42.3.4.12.3.72.3.8 |
2.3.28 |
History
| Recorded | Changed | Sources |
|---|---|---|
| aliases | EUVD | |
| first indexed | CVE List, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2016-4003 is a medium vulnerability (CVSS 6.1) in Apache Struts, published April 12, 2016. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 11.6%, the 96th percentile. Fixed in org.apache.struts:struts2-core 2.3.28.
References
struts.apache.org/docs/s2-028.html
securityfocus.com/bid/86311
securitytracker.com/id/1035268
issues.apache.org/jira/browse/WW-4507
nvd.nist.gov/vuln/detail/CVE-2016-4003
github.com/apache/struts/commit/4720f46a63caaf9db97ba27dc51ac5ad21e66bdc
Show 8 moreShow less
github.com/apache/struts/commit/5421930b49822606792f36653b17d3d95ef106f9
github.com/apache/struts/commit/72471d7075681bea52046645ad7aa34e9c53751e
github.com/apache/struts/commit/76f188406eb9f17a06afcb5f49f0c44d749da0d2
github.com/apache/struts/commit/a89bbe22cd2461748d595a89a254de888a415e6c
web.archive.org/web/20161119142317/http://www.securityfocus.com/bid/86311
web.archive.org/web/20161221184936/http://www.securitytracker.com/id/1035268
github.com/advisories/GHSA-m3x6-9v6h-4g28
github.com/apache/struts