WaratekVRT Sign in

CVE-2016-4438 Apache Struts

Affected softwareApache Struts
Severity9.8 Critical CVSS 3.0 2 scores
Fixed in2.3.29
WeaknessImproper input validation (CWE-20)
Published4 Jul 2016
Updated17 Jun 2026

Description

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.

Exploitation status

No public exploit

No exploit has been reported in the sources we check. The 1 repository below are public GitHub repositories with fewer than 5 stars.

  • CISA KEV not listed
  • VulnCheck KEV not listed
  • CISA Vulnrichment no assessment published
  • Indexed PoC 1 indexed, none at 5+ stars
  • EPSS 17% chance in 30 days A model's forecast, not a report of exploitation. Higher than 97% of all scored CVEs.

1 of these are GitHub repositories with fewer than 5 stars. They are listed for reference and don't count toward the exploitation status above.

IndexArtifactStarsFirst seen
GitHub PoC jason3e7/CVE-2016-4438 1 2016-06-16

Waratek protection

No exploit published

Within Waratek scope. In the sources we check, nobody has published exploit code for this CVE or reported it being exploited.

A public code fix exists: apache/struts 6d7ac40.

  • Protection none
  • Action unverified
  • Review automated Upstream data
  • Record active
Decided by Exploit code for this candidate, published in a reviewed catalogue or a GitHub repository with 5 or more stars, or in use per CISA or VulnCheck; not only a CISA verdict, a forecast, or nothing at all
Finding This CVE is not listed in CISA KEV or VulnCheck KEV, CISA Vulnrichment records no active exploitation, no reviewed exploit catalogue carries an entry for it, and no GitHub PoC repository for it has 5 or more stars. Nobody has published exploit code worth tracing, so it is not a candidate for a rule ahead of the ones where somebody has; an upstream fix path does exist, so the remediation half of the candidacy still holds. This is a statement about what has been published, not about whether the defect is reachable or serious.
Candidate fix https://bugzilla.redhat.com/show_bug.cgi?id=1348238 : a Red Hat bug: the triage, which links onward to the fix

CVSS

9.8 CRITICAL v3.0 CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H 2 metrics

We show the highest score from the newest CVSS version. Scores from different versions can't be compared, and the first score listed is sometimes a 0.0 placeholder.

VersionScoreBandVectorAssignerType
CVSS 3.0 9.8 CRITICAL CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H NVD Primary published
CVSS 2.0 7.5 none AV:N/AC:L/Au:N/C:P/I:P/A:P NVD Primary

Affected software and releases

Maven packages

Affected and fixed versions, from OSV.dev
PackageIntroducedFixedLast affected
org.apache.struts:struts2-core 2.3.19 2.3.29 unbounded
org.apache.struts:struts2-rest-plugin 2.3.19 2.3.29 unbounded

Products and versions

3 products, 9 version entries
SourceVendorProductSchemeAffected versions
nvd apache struts generic 2.3.20 · 2.3.20.1 · 2.3.20.3 · 2.3.24 · 2.3.24.1 · 2.3.24.3 · 2.3.28
osv org.apache.struts struts2-core generic ≥ 2.3.19 and < 2.3.29
osv org.apache.struts struts2-rest-plugin generic ≥ 2.3.19 and < 2.3.29

References

URLTags
https://bugzilla.redhat.com/show_bug.cgi?id=1348238 bugzilla
https://github.com/apache/struts/commit/6d7ac40dcede1793a4534a3dc249fd562d495e8c WEB
https://github.com/apache/struts/commit/76eb8f38a33ad0f1f48464ee1311559c8d52dd6d WEB
https://github.com/apache/struts/commit/c9c21378f2fb2ff21355c128c45e106ebd87ad7c WEB
https://github.com/apache/struts/commit/deefeffd11425f0cd0b797cd86a9b3550234262b WEB
https://github.com/apache/struts PACKAGE
https://struts.apache.org/docs/s2-037.html WEB
http://jvn.jp/en/jp/JVN07710476/index.html WEB
http://jvndb.jvn.jp/jvndb/JVNDB-2016-000110 WEB
http://www.oracle.com/technetwork/security-advisory/cpujul2017-3236622.html

Timeline

Published2016-07-04By the CVE Program.
NVD record modified2026-06-17NVD's own last-modified date for this record.