High severity8.2NVD Advisory· Published Jul 4, 2016· Updated May 6, 2026
CVE-2016-1182
CVE-2016-1182
Description
ActionServlet.java in Apache Struts 1 1.x through 1.3.10 does not properly restrict the Validator configuration, which allows remote attackers to conduct cross-site scripting (XSS) attacks or cause a denial of service via crafted input, a related issue to CVE-2015-0899.
Affected packages
Versions sourced from the GitHub Security Advisory.
| Package | Affected versions | Patched versions |
|---|---|---|
org.apache.struts:struts-coreMaven | <= 1.3.10 | — |
struts:strutsMaven | <= 1.2.9 | — |
Affected products
28cpe:2.3:a:apache:struts:1.0:*:*:*:*:*:*:*+ 27 more
- cpe:2.3:a:apache:struts:1.0:*:*:*:*:*:*:*
- cpe:2.3:a:apache:struts:1.0.1:*:*:*:*:*:*:*
- cpe:2.3:a:apache:struts:1.0.2:*:*:*:*:*:*:*
- cpe:2.3:a:apache:struts:1.0:beta1:*:*:*:*:*:*
- cpe:2.3:a:apache:struts:1.0:beta2:*:*:*:*:*:*
- cpe:2.3:a:apache:struts:1.0:beta3:*:*:*:*:*:*
- cpe:2.3:a:apache:struts:1.1:*:*:*:*:*:*:*
- cpe:2.3:a:apache:struts:1.1:b1:*:*:*:*:*:*
- cpe:2.3:a:apache:struts:1.1:b2:*:*:*:*:*:*
- cpe:2.3:a:apache:struts:1.1:b3:*:*:*:*:*:*
- cpe:2.3:a:apache:struts:1.1:rc1:*:*:*:*:*:*
- cpe:2.3:a:apache:struts:1.1:rc2:*:*:*:*:*:*
- cpe:2.3:a:apache:struts:1.2.0:*:*:*:*:*:*:*
- cpe:2.3:a:apache:struts:1.2.1:*:*:*:*:*:*:*
- cpe:2.3:a:apache:struts:1.2.2:*:*:*:*:*:*:*
- cpe:2.3:a:apache:struts:1.2.3:*:*:*:*:*:*:*
- cpe:2.3:a:apache:struts:1.2.4:*:*:*:*:*:*:*
- cpe:2.3:a:apache:struts:1.2.5:*:*:*:*:*:*:*
- cpe:2.3:a:apache:struts:1.2.6:*:*:*:*:*:*:*
- cpe:2.3:a:apache:struts:1.2.7:*:*:*:*:*:*:*
- cpe:2.3:a:apache:struts:1.2.8:*:*:*:*:*:*:*
- cpe:2.3:a:apache:struts:1.2.9:*:*:*:*:*:*:*
- cpe:2.3:a:apache:struts:1.3.10:*:*:*:*:*:*:*
- cpe:2.3:a:apache:struts:1.3.5:*:*:*:*:*:*:*
- cpe:2.3:a:apache:struts:1.3.6:*:*:*:*:*:*:*
- cpe:2.3:a:apache:struts:1.3.7:*:*:*:*:*:*:*
- cpe:2.3:a:apache:struts:1.3.8:*:*:*:*:*:*:*
- cpe:2.3:a:apache:struts:1.3.9:*:*:*:*:*:*:*
Patches
1eda3a79907edFixed CVE-2016-1181 and CVE-2016-1182
2 files changed · +31 −22
README.md+12 −5 modified@@ -1,14 +1,21 @@ -STRUTS -====== +# STRUTS  This struts1's fork is for maintenance to fix the vulnerabilities. -$Id: README,v 1.18 2003/12/10 01:04:10 husted Exp $ +## Requirements -Introduction (Original) ------------------------- +Original Struts requires Java 1.4 or higher. But struts1-forever requires Java 1.5 or higher. +Because Commons-Beanutils 1.9.2 is used for preventing a dangerous population. + +## Fixed vulnerabilities + +- CVE-2014-0114 +- CVE-2016-1181 +- CVE-2016-1182 + +## Introduction (Original) This subproject contains the source code for the "Struts" application support package, consisting of the following major components:
src/share/org/apache/struts/action/ActionServlet.java+19 −17 modified@@ -1,14 +1,14 @@ /* - * $Id$ + * $Id$ * * Copyright 2000-2005 The Apache Software Foundation. - * + * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * + * * http://www.apache.org/licenses/LICENSE-2.0 - * + * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. @@ -24,10 +24,7 @@ import java.math.BigInteger; import java.net.MalformedURLException; import java.net.URL; -import java.util.ArrayList; -import java.util.Enumeration; -import java.util.Iterator; -import java.util.MissingResourceException; +import java.util.*; import javax.servlet.ServletContext; import javax.servlet.ServletException; @@ -327,7 +324,7 @@ public void init() throws ServletException { initInternal(); initOther(); initServlet(); - + getServletContext().setAttribute(Globals.ACTION_SERVLET_KEY, this); initModuleConfigFactory(); // Initialize modules as needed @@ -336,7 +333,7 @@ public void init() throws ServletException { initModuleDataSources(moduleConfig); initModulePlugIns(moduleConfig); moduleConfig.freeze(); - + Enumeration names = getServletConfig().getInitParameterNames(); while (names.hasMoreElements()) { String name = (String) names.nextElement(); @@ -351,23 +348,23 @@ public void init() throws ServletException { initModulePlugIns(moduleConfig); moduleConfig.freeze(); } - + this.initModulePrefixes(this.getServletContext()); - + this.destroyConfigDigester(); } catch (UnavailableException ex) { throw ex; } catch (Throwable t) { // The follow error message is not retrieved from internal message - // resources as they may not have been able to have been + // resources as they may not have been able to have been // initialized log.error("Unable to initialize Struts ActionServlet due to an " + "unexpected exception or error thrown, so marking the " + "servlet as unavailable. Most likely, this is due to an " + "incorrect or missing library dependency.", t); throw new UnavailableException(t.getMessage()); - } + } } /** @@ -726,13 +723,13 @@ protected void parseModuleConfigFile(Digester digester, String path) if (url == null) { url = getClass().getResource(path); } - + if (url == null) { String msg = internal.getMessage("configMissing", path); log.error(msg); throw new UnavailableException(msg); } - + InputSource is = new InputSource(url.toExternalForm()); input = url.openStream(); is.setByteStream(input); @@ -1060,8 +1057,13 @@ protected void initInternal() throws ServletException { * @exception ServletException if we cannot initialize these resources */ protected void initOther() throws ServletException { + HashSet suppressProperties = new HashSet(); + suppressProperties.add("class"); + suppressProperties.add("multipartRequestHandler"); + suppressProperties.add("resultValueMap"); + PropertyUtils.addBeanIntrospector( - SuppressPropertiesBeanIntrospector.SUPPRESS_CLASS); + new SuppressPropertiesBeanIntrospector(suppressProperties)); PropertyUtils.clearDescriptors(); String value = null;
Vulnerability mechanics
Generated by null/stub on May 9, 2026. Inputs: CWE entries + fix-commit diffs from this CVE's patches. Citations validated against bundle.
References
23- www.oracle.com/technetwork/security-advisory/cpujan2018-3236628.htmlnvdPatchWEB
- www.oracle.com/technetwork/security-advisory/cpujul2016-2881720.htmlnvdPatchThird Party AdvisoryWEB
- www.oracle.com/technetwork/security-advisory/cpujul2018-4258247.htmlnvdPatchWEB
- www.oracle.com/technetwork/security-advisory/cpuoct2016-2881722.htmlnvdPatchThird Party AdvisoryWEB
- www.oracle.com/technetwork/security-advisory/cpuoct2017-3236626.htmlnvdPatchWEB
- www.oracle.com/technetwork/security-advisory/cpuoct2018-4428296.htmlnvdPatchWEB
- github.com/kawasima/struts1-forever/commit/eda3a79907ed8fcb0387a0496d0cb14332f250e8nvdIssue TrackingPatchWEB
- www.oracle.com/technetwork/security-advisory/cpujan2019-5072801.htmlnvdPatchWEB
- jvn.jp/en/jp/JVN65044642/index.htmlnvdVendor AdvisoryWEB
- jvndb.jvn.jp/jvndb/JVNDB-2016-000097nvdThird Party AdvisoryVDB EntryVendor AdvisoryWEB
- www.securityfocus.com/bid/91067nvdThird Party AdvisoryVDB Entry
- www.securityfocus.com/bid/91787nvdThird Party AdvisoryVDB Entry
- www.securitytracker.com/id/1036056nvdThird Party AdvisoryVDB Entry
- github.com/advisories/GHSA-5ggr-mpgw-3mgxghsaADVISORY
- nvd.nist.gov/vuln/detail/CVE-2016-1182ghsaADVISORY
- security-tracker.debian.org/tracker/CVE-2016-1182nvdThird Party AdvisoryWEB
- security.netapp.com/advisory/ntap-20180629-0006/nvdThird Party Advisory
- bugzilla.redhat.com/show_bug.cginvdIssue TrackingWEB
- security.netapp.com/advisory/ntap-20180629-0006ghsaWEB
- www.oracle.com/security-alerts/cpujan2020.htmlnvdWEB
- www.oracle.com/security-alerts/cpujul2020.htmlnvdWEB
- www.oracle.com/technetwork/security-advisory/cpuapr2019-5072813.htmlnvdWEB
- www.oracle.com/technetwork/security-advisory/cpujul2019-5072835.htmlnvdWEB
News mentions
0No linked articles in our index yet.