{"id":"CVE-2016-3090","details":"The TextParseUtil.translateVariables method in Apache Struts 2.x before 2.3.20 allows remote attackers to execute arbitrary code via a crafted OGNL expression with ANTLR tooling.","aliases":["GHSA-ggmp-fxfg-277r"],"modified":"2026-07-08T05:49:08.812004363Z","published":"2017-10-30T14:29:00.767Z","database_specific":{"unresolved_ranges":[{"vendor_product":"apache:struts","cpes":["cpe:2.3:a:apache:struts:2.0.1:*:*:*:*:*:*:*"],"extracted_events":[{"introduced":"2.0.1"},{"last_affected":"2.0.1"}],"source":"CPE_STRING"}]},"references":[{"type":"ADVISORY","url":"http://www.securityfocus.com/bid/85131"},{"type":"ADVISORY","url":"https://security.netapp.com/advisory/ntap-20180629-0005/"},{"type":"ADVISORY","url":"https://struts.apache.org/docs/s2-027.html"},{"type":"ADVISORY","url":"https://www.securitytracker.com/id/1035267"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/apache/struts","events":[{"introduced":"2a4ea6dce4e2d622a57480c1bc337f46315fde96"},{"last_affected":"0032390ee89749c8dc55ac76f44900697aa0c713"}],"database_specific":{"extracted_events":[{"introduced":"2.0.1"},{"last_affected":"2.0.1"},{"introduced":"2.0.2"},{"last_affected":"2.0.2"},{"introduced":"2.0.3"},{"last_affected":"2.0.3"},{"introduced":"2.0.4"},{"last_affected":"2.0.4"},{"introduced":"2.0.5"},{"last_affected":"2.0.5"},{"introduced":"2.0.6"},{"last_affected":"2.0.6"},{"introduced":"2.0.7"},{"last_affected":"2.0.7"},{"introduced":"2.0.8"},{"last_affected":"2.0.8"},{"introduced":"2.0.9"},{"last_affected":"2.0.9"},{"introduced":"2.0.10"},{"last_affected":"2.0.10"},{"introduced":"2.0.11"},{"last_affected":"2.0.11"},{"introduced":"2.0.11.1"},{"last_affected":"2.0.11.1"},{"introduced":"2.0.11.2"},{"last_affected":"2.0.11.2"},{"introduced":"2.0.12"},{"last_affected":"2.0.12"},{"introduced":"2.0.13"},{"last_affected":"2.0.13"},{"introduced":"2.0.14"},{"last_affected":"2.0.14"},{"introduced":"2.1.0"},{"last_affected":"2.1.0"},{"introduced":"2.1.1"},{"last_affected":"2.1.1"},{"introduced":"2.1.2"},{"last_affected":"2.1.2"},{"introduced":"2.1.3"},{"last_affected":"2.1.3"},{"introduced":"2.1.4"},{"last_affected":"2.1.4"},{"introduced":"2.1.5"},{"last_affected":"2.1.5"},{"introduced":"2.1.6"},{"last_affected":"2.1.6"},{"introduced":"2.1.7"},{"last_affected":"2.1.7"},{"introduced":"2.1.8"},{"last_affected":"2.1.8"},{"introduced":"2.1.8.1"},{"last_affected":"2.1.8.1"},{"introduced":"2.2.1"},{"last_affected":"2.2.1"},{"introduced":"2.2.1.1"},{"last_affected":"2.2.1.1"},{"introduced":"2.2.3"},{"last_affected":"2.2.3"},{"introduced":"2.2.3.1"},{"last_affected":"2.2.3.1"},{"introduced":"2.3.1"},{"last_affected":"2.3.1"},{"introduced":"2.3.1.1"},{"last_affected":"2.3.1.1"},{"introduced":"2.3.1.2"},{"last_affected":"2.3.1.2"},{"introduced":"2.3.3"},{"last_affected":"2.3.3"},{"introduced":"2.3.4"},{"last_affected":"2.3.4"},{"introduced":"2.3.4.1"},{"last_affected":"2.3.4.1"},{"introduced":"2.3.5"},{"last_affected":"2.3.5"},{"introduced":"2.3.6"},{"last_affected":"2.3.6"},{"introduced":"2.3.7"},{"last_affected":"2.3.7"},{"introduced":"2.3.8"},{"last_affected":"2.3.8"},{"introduced":"2.3.9"},{"last_affected":"2.3.9"},{"introduced":"2.3.10"},{"last_affected":"2.3.10"},{"introduced":"2.3.11"},{"last_affected":"2.3.11"},{"introduced":"2.3.12"},{"last_affected":"2.3.12"},{"introduced":"2.3.13"},{"last_affected":"2.3.13"},{"introduced":"2.3.14"},{"last_affected":"2.3.14"},{"introduced":"2.3.14.1"},{"last_affected":"2.3.14.1"},{"introduced":"2.3.14.2"},{"last_affected":"2.3.14.2"},{"introduced":"2.3.14.3"},{"last_affected":"2.3.14.3"},{"introduced":"2.3.15"},{"last_affected":"2.3.15"},{"introduced":"2.3.15.1"},{"last_affected":"2.3.15.1"},{"introduced":"2.3.15.2"},{"last_affected":"2.3.15.2"},{"introduced":"2.3.15.3"},{"last_affected":"2.3.15.3"},{"introduced":"2.3.16"},{"last_affected":"2.3.16"},{"introduced":"2.3.16.1"},{"last_affected":"2.3.16.1"},{"introduced":"2.3.16.2"},{"last_affected":"2.3.16.2"},{"introduced":"2.3.16.3"},{"last_affected":"2.3.16.3"},{"introduced":"2.3.17"},{"last_affected":"2.3.17"},{"introduced":"2.3.19"},{"last_affected":"2.3.19"}],"source":"CPE_STRING","cpe":["cpe:2.3:a:apache:struts:2.0.1:*:*:*:*:*:*:*","cpe:2.3:a:apache:struts:2.0.2:*:*:*:*:*:*:*","cpe:2.3:a:apache:struts:2.0.3:*:*:*:*:*:*:*","cpe:2.3:a:apache:struts:2.0.4:*:*:*:*:*:*:*","cpe:2.3:a:apache:struts:2.0.5:*:*:*:*:*:*:*","cpe:2.3:a:apache:struts:2.0.6:*:*:*:*:*:*:*","cpe:2.3:a:apache:struts:2.0.7:*:*:*:*:*:*:*","cpe:2.3:a:apache:struts:2.0.8:*:*:*:*:*:*:*","cpe:2.3:a:apache:struts:2.0.9:*:*:*:*:*:*:*","cpe:2.3:a:apache:struts:2.0.10:*:*:*:*:*:*:*","cpe:2.3:a:apache:struts:2.0.11:*:*:*:*:*:*:*","cpe:2.3:a:apache:struts:2.0.11.1:*:*:*:*:*:*:*","cpe:2.3:a:apache:struts:2.0.11.2:*:*:*:*:*:*:*","cpe:2.3:a:apache:struts:2.0.12:*:*:*:*:*:*:*","cpe:2.3:a:apache:struts:2.0.13:*:*:*:*:*:*:*","cpe:2.3:a:apache:struts:2.0.14:*:*:*:*:*:*:*","cpe:2.3:a:apache:struts:2.1.0:*:*:*:*:*:*:*","cpe:2.3:a:apache:struts:2.1.1:*:*:*:*:*:*:*","cpe:2.3:a:apache:struts:2.1.2:*:*:*:*:*:*:*","cpe:2.3:a:apache:struts:2.1.3:*:*:*:*:*:*:*","cpe:2.3:a:apache:struts:2.1.4:*:*:*:*:*:*:*","cpe:2.3:a:apache:struts:2.1.5:*:*:*:*:*:*:*","cpe:2.3:a:apache:struts:2.1.6:*:*:*:*:*:*:*","cpe:2.3:a:apache:struts:2.1.7:*:*:*:*:*:*:*","cpe:2.3:a:apache:struts:2.1.8:*:*:*:*:*:*:*","cpe:2.3:a:apache:struts:2.1.8.1:*:*:*:*:*:*:*","cpe:2.3:a:apache:struts:2.2.1:*:*:*:*:*:*:*","cpe:2.3:a:apache:struts:2.2.1.1:*:*:*:*:*:*:*","cpe:2.3:a:apache:struts:2.2.3:*:*:*:*:*:*:*","cpe:2.3:a:apache:struts:2.2.3.1:*:*:*:*:*:*:*","cpe:2.3:a:apache:struts:2.3.1:*:*:*:*:*:*:*","cpe:2.3:a:apache:struts:2.3.1.1:*:*:*:*:*:*:*","cpe:2.3:a:apache:struts:2.3.1.2:*:*:*:*:*:*:*","cpe:2.3:a:apache:struts:2.3.3:*:*:*:*:*:*:*","cpe:2.3:a:apache:struts:2.3.4:*:*:*:*:*:*:*","cpe:2.3:a:apache:struts:2.3.4.1:*:*:*:*:*:*:*","cpe:2.3:a:apache:struts:2.3.5:*:*:*:*:*:*:*","cpe:2.3:a:apache:struts:2.3.6:*:*:*:*:*:*:*","cpe:2.3:a:apache:struts:2.3.7:*:*:*:*:*:*:*","cpe:2.3:a:apache:struts:2.3.8:*:*:*:*:*:*:*","cpe:2.3:a:apache:struts:2.3.9:*:*:*:*:*:*:*","cpe:2.3:a:apache:struts:2.3.10:*:*:*:*:*:*:*","cpe:2.3:a:apache:struts:2.3.11:*:*:*:*:*:*:*","cpe:2.3:a:apache:struts:2.3.12:*:*:*:*:*:*:*","cpe:2.3:a:apache:struts:2.3.13:*:*:*:*:*:*:*","cpe:2.3:a:apache:struts:2.3.14:*:*:*:*:*:*:*","cpe:2.3:a:apache:struts:2.3.14.1:*:*:*:*:*:*:*","cpe:2.3:a:apache:struts:2.3.14.2:*:*:*:*:*:*:*","cpe:2.3:a:apache:struts:2.3.14.3:*:*:*:*:*:*:*","cpe:2.3:a:apache:struts:2.3.15:*:*:*:*:*:*:*","cpe:2.3:a:apache:struts:2.3.15.1:*:*:*:*:*:*:*","cpe:2.3:a:apache:struts:2.3.15.2:*:*:*:*:*:*:*","cpe:2.3:a:apache:struts:2.3.15.3:*:*:*:*:*:*:*","cpe:2.3:a:apache:struts:2.3.16:*:*:*:*:*:*:*","cpe:2.3:a:apache:struts:2.3.16.1:*:*:*:*:*:*:*","cpe:2.3:a:apache:struts:2.3.16.2:*:*:*:*:*:*:*","cpe:2.3:a:apache:struts:2.3.16.3:*:*:*:*:*:*:*","cpe:2.3:a:apache:struts:2.3.17:*:*:*:*:*:*:*","cpe:2.3:a:apache:struts:2.3.19:*:*:*:*:*:*:*"]}}],"versions":["2.0.1","2.0.10","2.0.11","2.0.11.1","2.0.11.2","2.0.12","2.0.13","2.0.14","2.0.2","2.0.3","2.0.4","2.0.5","2.0.6","2.0.7","2.0.8","2.0.9","2.1.0","2.1.1","2.1.2","2.1.3","2.1.4","2.1.5","2.1.6","2.1.7","2.1.8","2.1.8.1","2.2.1","2.2.1.1","2.2.3","2.2.3.1","2.3.1","2.3.1.1","2.3.1.2","2.3.10","2.3.11","2.3.12","2.3.13","2.3.14","2.3.14.1","2.3.14.2","2.3.14.3","2.3.15","2.3.15.1","2.3.15.2","2.3.15.3","2.3.16","2.3.16.1","2.3.16.2","2.3.16.3","2.3.17","2.3.19","2.3.3","2.3.4","2.3.4.1","2.3.5","2.3.6","2.3.7","2.3.8","2.3.9"],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2016-3090.json"}}],"schema_version":"1.7.5","severity":[{"type":"CVSS_V3","score":"CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H"}]}