CVE-2016-4438 in the critical feed json
Arbitrary code execution in Apache Struts 2
published 2016-07-04 10 y ago modified 2026-06-17 4 mo ago also GHSA-4prj-vw9j-v6pr , EUVD-2022-2421
- cvss
- 9.8
- version 3.0, NVD
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 16.7%
- EPSS 16.7% chance of exploitation in 30 days, percentile 97%
- public exploits
- 0
- none known
Summary
The REST plugin in Apache Struts 2 2.3.19 through 2.3.28.1 allows remote attackers to execute arbitrary code via a crafted expression.
Patch / fix
- maven org.apache.struts:struts2-core 2.3.29
- maven org.apache.struts:struts2-rest-plugin 2.3.29
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-2016-4438 updated cvss 6.8
struts: Possible RCE via REST plugin
-
Red Hat Enterprise Linux 5 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
16.74% chance of exploitation in the next 30 days, higher than 97% of all scored CVEs (FIRST EPSS, 2026-11-09).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| NVD | 3.0 | 9.8 | CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
| NVD | 2.0 | 7.5 | AV:N/AC:L/Au:N/C:P/I:P/A:P |
| GitHub | 3.0 | 9.8 | CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| maven | org.apache.struts:struts2-core | >=2.3.19, <2.3.29 |
2.3.29 |
| maven | org.apache.struts:struts2-rest-plugin | >=2.3.19, <2.3.29 |
2.3.29 |
Classification
- Weakness
-
- CWE-20 Improper Input Validation
References
-
github.com
/apache/struts/commit/6d7ac40dcede1793a4534a3dc249fd562d495e8c
web
-
github.com
/apache/struts/commit/76eb8f38a33ad0f1f48464ee1311559c8d52dd6d
web
-
github.com
/apache/struts/commit/c9c21378f2fb2ff21355c128c45e106ebd87ad7c
web
-
github.com
/apache/struts/commit/deefeffd11425f0cd0b797cd86a9b3550234262b
web
-
struts.apache.org
/docs/s2-037.html
web, vendor-advisory
-
jvndb.jvn.jp
/jvndb/JVNDB-2016-000110
third-party-advisory, web, vdb-entry, vendor-advisory
-
jvn.jp
/en/jp/JVN07710476/index.html
third-party-advisory, web, vendor-advisory
-
bugzilla.redhat.com
/show_bug.cgi?id=1348238
web, issue-tracking, third-party-advisory, vdb-entry
-
securityfocus.com
/bid/91275
vdb-entry, third-party-advisory
- oracle.com /technetwork/security-advisory/cpujul2017-3236622.html
-
nvd.nist.gov
/vuln/detail/CVE-2016-4438
advisory
-
github.com
/apache/struts
package
Sources
- CVE List CVE-2016-4438
- GitHub Advisory GHSA-4prj-vw9j-v6pr
- NVD CVE-2016-4438
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.