Author: lukaszlenart
Date: Thu Mar 17 08:32:29 2016
New Revision: 982993

Log:
Updates production

Added:
    websites/production/struts/content/docs/version-notes-2326.html
Removed:
    websites/production/struts/content/docs/version-notes-2325.html
Modified:
    websites/production/struts/content/docs/s2-028.html
    websites/production/struts/content/docs/s2-029.html
    websites/production/struts/content/docs/s2-030.html
    websites/production/struts/content/docs/security.html

Modified: websites/production/struts/content/docs/s2-028.html
==============================================================================
--- websites/production/struts/content/docs/s2-028.html (original)
+++ websites/production/struts/content/docs/s2-028.html Thu Mar 17 08:32:29 2016
@@ -125,7 +125,7 @@ under the License.
 
     <div class="pagecontent">
         <div class="wiki-content">
-            <div id="ConfluenceContent"><h2 
id="S2-028-Summary">Summary</h2>Use of a JRE with broken URLDecoder 
implementation may lead to XSS vulnerability in Struts 2 based web 
applications.<div class="table-wrap"><table 
class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Who should read this</p></th><td colspan="1" 
rowspan="1" class="confluenceTd"><p>All Struts 2 developers and 
users</p></td></tr><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Impact of vulnerability</p></th><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Affects of a cross-site scripting 
vulnerability.</p></td></tr><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Maximum security rating</p></th><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Important</p></td></tr><tr><th colspan="1" 
rowspan="1" class="confluenceTh"><p>Recommendation</p></th><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Upgrade runtime JRE to a recent major 
version, preferably 1.8. 
 Alternatively upgrade to <a shape="rect" class="external-link" 
href="http://struts.apache.org/download.cgi#struts2325";>Struts 
2.3.25</a></p></td></tr><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Affected Software</p></th><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Struts 2.0.0 - Struts <span style="color: 
rgb(23,35,59);">Struts 2.3.24.1</span></p></td></tr><tr><th colspan="1" 
rowspan="1" class="confluenceTh"><p>Reporter</p></th><td colspan="1" 
rowspan="1" class="confluenceTd"><p>WhiteHat Security (<a shape="rect" 
class="external-link" href="http://whitehatsec.com"; 
rel="nofollow">whitehatsec.com</a>)</p></td></tr><tr><th colspan="1" 
rowspan="1" class="confluenceTh"><p>CVE Identifier</p></th><td colspan="1" 
rowspan="1" class="confluenceTd"><p><span style="color: 
rgb(34,34,34);">-</span></p></td></tr></tbody></table></div><h2 
id="S2-028-Problem">Problem</h2><p>When using a single byte page encoding such 
as ISO-8895-1, an attacker might submit a non-spec URL-encoded p
 arameter value including multi-byte characters.</p><p>Struts 2 used the 
standard JRE URLDecoder to decode parameter values.&#160;<span>Especially JRE 
1.5's URLDecoder implementation seems to be broken to the point that this 
non-spec encoding isn't rejected / filtered. In later JREs the issue was fixed, 
best known solution is found in JRE 1.8.</span></p><h2 
id="S2-028-Solution">Solution</h2><p>Upgrade runtime JRE/JDK, preferably to the 
most recent 1.8 version.</p><p>Alternatively&#160;<span style="line-height: 
1.42857;">upgrade to Struts 2.3.25, which includes and uses a safe URLDecoder 
implementation from Apache Tomcat</span></p><h2 
id="S2-028-Backwardcompatibility">Backward compatibility</h2><p>No issues 
expected when upgrading to Struts 2.3.25</p><h2 
id="S2-028-Workaround">Workaround</h2><p>Use UTF-8 for page and parameter 
encoding.</p><h2 id="S2-028-FurtherReference">Further Reference</h2><p><style>
+            <div id="ConfluenceContent"><h2 
id="S2-028-Summary">Summary</h2>Use of a JRE with broken URLDecoder 
implementation may lead to XSS vulnerability in Struts 2 based web 
applications.<div class="table-wrap"><table 
class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Who should read this</p></th><td colspan="1" 
rowspan="1" class="confluenceTd"><p>All Struts 2 developers and 
users</p></td></tr><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Impact of vulnerability</p></th><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Affects of a cross-site scripting 
vulnerability.</p></td></tr><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Maximum security rating</p></th><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Important</p></td></tr><tr><th colspan="1" 
rowspan="1" class="confluenceTh"><p>Recommendation</p></th><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Upgrade runtime JRE to a recent major 
version, preferably 1.8. 
 Alternatively upgrade to <a shape="rect" href="version-notes-2326.html">Struts 
2.3.26</a></p></td></tr><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Affected Software</p></th><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Struts 2.0.0 - Struts <span style="color: 
rgb(23,35,59);">Struts 2.3.24.1</span></p></td></tr><tr><th colspan="1" 
rowspan="1" class="confluenceTh"><p>Reporter</p></th><td colspan="1" 
rowspan="1" class="confluenceTd"><p>WhiteHat Security (<a shape="rect" 
class="external-link" href="http://whitehatsec.com"; 
rel="nofollow">whitehatsec.com</a>)</p></td></tr><tr><th colspan="1" 
rowspan="1" class="confluenceTh"><p>CVE Identifier</p></th><td colspan="1" 
rowspan="1" class="confluenceTd"><p><span style="color: 
rgb(34,34,34);">-</span></p></td></tr></tbody></table></div><h2 
id="S2-028-Problem">Problem</h2><p>When using a single byte page encoding such 
as ISO-8895-1, an attacker might submit a non-spec URL-encoded parameter value 
including multi-byte characters.
 </p><p>Struts 2 used the standard JRE URLDecoder to decode parameter 
values.&#160;<span>Especially JRE 1.5's URLDecoder implementation seems to be 
broken to the point that this non-spec encoding isn't rejected / filtered. In 
later JREs the issue was fixed, best known solution is found in JRE 
1.8.</span></p><h2 id="S2-028-Solution">Solution</h2><p>Upgrade runtime 
JRE/JDK, preferably to the most recent 1.8 
version.</p><p>Alternatively&#160;<span style="line-height: 1.42857;">upgrade 
to Struts 2.3.26, which includes and uses a safe URLDecoder implementation from 
Apache Tomcat</span></p><h2 id="S2-028-Backwardcompatibility">Backward 
compatibility</h2><p>No issues expected when upgrading to Struts 2.3.26</p><h2 
id="S2-028-Workaround">Workaround</h2><p>Use UTF-8 for page and parameter 
encoding.</p><h2 id="S2-028-FurtherReference">Further Reference</h2><p><style>
     .jira-issue {
         padding: 0 0 0 2px;
         line-height: 20px;

Modified: websites/production/struts/content/docs/s2-029.html
==============================================================================
--- websites/production/struts/content/docs/s2-029.html (original)
+++ websites/production/struts/content/docs/s2-029.html Thu Mar 17 08:32:29 2016
@@ -125,7 +125,7 @@ under the License.
 
     <div class="pagecontent">
         <div class="wiki-content">
-            <div id="ConfluenceContent"><h2 
id="S2-029-Summary">Summary</h2>Double OGNL evaluation when using raw user 
input in tag's attributes.<div class="table-wrap"><table 
class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Who should read this</p></th><td colspan="1" 
rowspan="1" class="confluenceTd"><p>All Struts 2 developers and 
users</p></td></tr><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Impact of vulnerability</p></th><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Possible Remote Code Execution 
vulnerability</p></td></tr><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Maximum security rating</p></th><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Important</p></td></tr><tr><th colspan="1" 
rowspan="1" class="confluenceTh"><p>Recommendation</p></th><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Always validate incoming parameters' values 
when re-assigning them to certain Struts' tags attributes. Alternative
 ly upgrade to <a shape="rect" class="external-link" 
href="http://struts.apache.org/download.cgi#struts2325";>Struts 
2.3.25</a></p></td></tr><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Affected Software</p></th><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Struts 2.0.0 - Struts <span style="color: 
rgb(23,35,59);">Struts 2.3.24.1</span></p></td></tr><tr><th colspan="1" 
rowspan="1" class="confluenceTh"><p>Reporter</p></th><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Romain Gaucher rgaucher at coverity dot com 
- <a shape="rect" class="external-link" href="http://www.coverity.com/"; 
rel="nofollow">Coverity</a></p></td></tr><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p>CVE Identifier</p></th><td colspan="1" rowspan="1" 
class="confluenceTd"><p><span style="color: 
rgb(34,34,34);">CVE-2016-0785</span></p></td></tr></tbody></table></div><h2 
id="S2-029-Problem">Problem</h2><p>The Apache Struts frameworks performs double 
evaluation of attributes' values assigned
  to certain tags so it is possible to pass in a value that will be evaluated 
again when a tag's attributes will be rendered.</p><h2 
id="S2-029-Solution">Solution</h2><p>Adding a proper validation of each value 
that's coming in and it's used in tag's 
attributes.&#160;Alternatively&#160;<span style="line-height: 1.42857;">upgrade 
to Struts 2.3.25.</span></p><h2 id="S2-029-Backwardcompatibility">Backward 
compatibility</h2><p>No issues expected when upgrading to Struts 2.3.25</p><h2 
id="S2-029-Workaround">Workaround</h2><p>Not possible</p></div>
+            <div id="ConfluenceContent"><h2 
id="S2-029-Summary">Summary</h2>Double OGNL evaluation when using raw user 
input in tag's attributes.<div class="table-wrap"><table 
class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Who should read this</p></th><td colspan="1" 
rowspan="1" class="confluenceTd"><p>All Struts 2 developers and 
users</p></td></tr><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Impact of vulnerability</p></th><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Possible Remote Code Execution 
vulnerability</p></td></tr><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Maximum security rating</p></th><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Important</p></td></tr><tr><th colspan="1" 
rowspan="1" class="confluenceTh"><p>Recommendation</p></th><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Always validate incoming parameters' values 
when re-assigning them to certain Struts' tags attributes. Alternative
 ly upgrade to <a shape="rect" href="version-notes-2326.html">Struts 
2.3.26</a></p></td></tr><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Affected Software</p></th><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Struts 2.0.0 - Struts <span style="color: 
rgb(23,35,59);">Struts 2.3.24.1</span></p></td></tr><tr><th colspan="1" 
rowspan="1" class="confluenceTh"><p>Reporter</p></th><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Romain Gaucher rgaucher at coverity dot com 
- <a shape="rect" class="external-link" href="http://www.coverity.com/"; 
rel="nofollow">Coverity</a></p></td></tr><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p>CVE Identifier</p></th><td colspan="1" rowspan="1" 
class="confluenceTd"><p><span style="color: 
rgb(34,34,34);">CVE-2016-0785</span></p></td></tr></tbody></table></div><h2 
id="S2-029-Problem">Problem</h2><p>The Apache Struts frameworks performs double 
evaluation of attributes' values assigned to certain tags so it is possible to 
pass in a
  value that will be evaluated again when a tag's attributes will be 
rendered.</p><h2 id="S2-029-Solution">Solution</h2><p>Adding a proper 
validation of each value that's coming in and it's used in tag's 
attributes.&#160;Alternatively&#160;<span style="line-height: 1.42857;">upgrade 
to Struts 2.3.26.</span></p><h2 id="S2-029-Backwardcompatibility">Backward 
compatibility</h2><p>No issues expected when upgrading to Struts 2.3.26</p><h2 
id="S2-029-Workaround">Workaround</h2><p>Not possible</p></div>
         </div>
 
         

Modified: websites/production/struts/content/docs/s2-030.html
==============================================================================
--- websites/production/struts/content/docs/s2-030.html (original)
+++ websites/production/struts/content/docs/s2-030.html Thu Mar 17 08:32:29 2016
@@ -125,7 +125,7 @@ under the License.
 
     <div class="pagecontent">
         <div class="wiki-content">
-            <div id="ConfluenceContent"><h2 
id="S2-030-Summary">Summary</h2>Possible XSS vulnerability in 
<code>I18NInterceptor</code><div class="table-wrap"><table 
class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Who should read this</p></th><td colspan="1" 
rowspan="1" class="confluenceTd"><p>All Struts 2 developers and 
users</p></td></tr><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Impact of vulnerability</p></th><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Possible XSS 
vulnerability</p></td></tr><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Maximum security rating</p></th><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Low</p></td></tr><tr><th colspan="1" 
rowspan="1" class="confluenceTh"><p>Recommendation</p></th><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Do not expose parts of <code>Locale</code> 
object constructed by <code>I18NInterceptor</code> as it may contain user 
specific string which may leads 
 to XSS vulnerability.</p></td></tr><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Affected Software</p></th><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Struts 2.0.0 - Struts <span style="color: 
rgb(23,35,59);">Struts 2.3.24.1</span></p></td></tr><tr><th colspan="1" 
rowspan="1" class="confluenceTh"><p>Reporter</p></th><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Paolo Perliti paolo dot perliti at miliaris 
dot it - <a shape="rect" class="external-link" href="http://www.miliaris.it/"; 
rel="nofollow">M<span>iliaris</span></a><span>&#160;</span></p></td></tr><tr><th
 colspan="1" rowspan="1" class="confluenceTh"><p>CVE Identifier</p></th><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p>CVE-2016-2162</p></td></tr></tbody></table></div><h2 
id="S2-030-Problem">Problem</h2><p>The Apache Struts framework uses 
<code>I18NInterceptor</code> to allow users and developers switch language used 
in the framework and an application built on top of it. The problem is that the 
in
 terceptor doesn't perform any validation of the user input and accept 
arbitrary string which can be used by a developer to display language selected 
by the user. However, the framework doesn't expose the value directly in 
UI.</p><h2 id="S2-030-Solution">Solution</h2><p>If you want present language 
selected by user based on <code>I18NInterceptor</code> always escape the string 
before presenting it to the user.&#160;Alternatively&#160;<span 
style="line-height: 1.42857;">upgrade to Struts 2.3.25.</span></p><h2 
id="S2-030-Backwardcompatibility">Backward compatibility</h2><p>No issues 
expected when upgrading to Struts 2.3.25</p><h2 
id="S2-030-Workaround">Workaround</h2><p>When needed you can use <a 
shape="rect" class="external-link" 
href="https://commons.apache.org/proper/commons-lang/javadocs/api-3.4/org/apache/commons/lang3/StringEscapeUtils.html";>StringEscapeUtils</a>
 from the Apache Commons to escape the string.</p></div>
+            <div id="ConfluenceContent"><h2 
id="S2-030-Summary">Summary</h2>Possible XSS vulnerability in 
<code>I18NInterceptor</code><div class="table-wrap"><table 
class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Who should read this</p></th><td colspan="1" 
rowspan="1" class="confluenceTd"><p>All Struts 2 developers and 
users</p></td></tr><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Impact of vulnerability</p></th><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Possible XSS 
vulnerability</p></td></tr><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Maximum security rating</p></th><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Low</p></td></tr><tr><th colspan="1" 
rowspan="1" class="confluenceTh"><p>Recommendation</p></th><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Do not expose parts of <code>Locale</code> 
object constructed by <code>I18NInterceptor</code> as it may contain user 
specific string which may leads 
 to XSS vulnerability. Alternatively upgrade to&#160;<a shape="rect" 
href="version-notes-2326.html">Struts 2.3.26</a>.</p></td></tr><tr><th 
colspan="1" rowspan="1" class="confluenceTh"><p>Affected Software</p></th><td 
colspan="1" rowspan="1" class="confluenceTd"><p>Struts 2.0.0 - Struts <span 
style="color: rgb(23,35,59);">Struts 2.3.24.1</span></p></td></tr><tr><th 
colspan="1" rowspan="1" class="confluenceTh"><p>Reporter</p></th><td 
colspan="1" rowspan="1" class="confluenceTd"><p>Paolo Perliti paolo dot perliti 
at miliaris dot it - <a shape="rect" class="external-link" 
href="http://www.miliaris.it/"; 
rel="nofollow">M<span>iliaris</span></a><span>&#160;</span></p></td></tr><tr><th
 colspan="1" rowspan="1" class="confluenceTh"><p>CVE Identifier</p></th><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p>CVE-2016-2162</p></td></tr></tbody></table></div><h2 
id="S2-030-Problem">Problem</h2><p>The Apache Struts framework uses 
<code>I18NInterceptor</code> to allow users and developers switch 
 language used in the framework and an application built on top of it. The 
problem is that the interceptor doesn't perform any validation of the user 
input and accept arbitrary string which can be used by a developer to display 
language selected by the user. However, the framework doesn't expose the value 
directly in UI.</p><h2 id="S2-030-Solution">Solution</h2><p>If you want present 
language selected by user based on <code>I18NInterceptor</code> always escape 
the string before presenting it to the user.&#160;Alternatively&#160;<span 
style="line-height: 1.42857;">upgrade to Struts 2.3.26.</span></p><h2 
id="S2-030-Backwardcompatibility">Backward compatibility</h2><p>No issues 
expected when upgrading to Struts 2.3.26</p><h2 
id="S2-030-Workaround">Workaround</h2><p>When needed you can use <a 
shape="rect" class="external-link" 
href="https://commons.apache.org/proper/commons-lang/javadocs/api-3.4/org/apache/commons/lang3/StringEscapeUtils.html";>StringEscapeUtils</a>
 from the Apache Common
 s to escape the string.</p></div>
         </div>
 
         

Modified: websites/production/struts/content/docs/security.html
==============================================================================
--- websites/production/struts/content/docs/security.html (original)
+++ websites/production/struts/content/docs/security.html Thu Mar 17 08:32:29 
2016
@@ -139,11 +139,11 @@ under the License.
     <div class="pagecontent">
         <div class="wiki-content">
             <div id="ConfluenceContent"><p><style type="text/css">/*<![CDATA[*/
-div.rbtoc1457693901922 {padding: 0px;}
-div.rbtoc1457693901922 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1457693901922 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1458203471142 {padding: 0px;}
+div.rbtoc1458203471142 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1458203471142 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style></p><div class="toc-macro rbtoc1457693901922">
+/*]]>*/</style></p><div class="toc-macro rbtoc1458203471142">
 <ul class="toc-indentation"><li><a shape="rect" 
href="#Security-Securitytips">Security tips</a>
 <ul class="toc-indentation"><li><a shape="rect" 
href="#Security-RestrictaccesstotheConfigBrowser">Restrict access to the Config 
Browser</a></li><li><a shape="rect" 
href="#Security-Don'tmixdifferentaccesslevelsinthesamenamespace">Don't mix 
different access levels in the same namespace</a></li><li><a shape="rect" 
href="#Security-NeverexposeJSPfilesdirectly">Never expose JSP files 
directly</a></li><li><a shape="rect" href="#Security-DisabledevMode">Disable 
devMode</a></li><li><a shape="rect" href="#Security-UseUTF-8encoding">Use UTF-8 
encoding</a></li></ul>
 </li><li><a shape="rect" href="#Security-Internalsecuritymechanism">Internal 
security mechanism</a>
@@ -177,7 +177,7 @@ div.rbtoc1457693901922 li {margin-left:
     &lt;description&gt;Don't assign users to this role&lt;/description&gt;
     &lt;role-name&gt;no-users&lt;/role-name&gt;
 &lt;/security-role&gt;</pre>
-</div></div><p>The best approach is to used the both solutions.</p><h4 
id="Security-DisabledevMode">Disable devMode</h4><p>The&#160;<code 
style="line-height: 1.4285715;">devMode</code> is very useful option back can 
expose your application presenting too many informations of application's 
internals. Please always disable the&#160;<code>devMode</code> before deploying 
your application to a production environment.</p><h4 
id="Security-UseUTF-8encoding">Use UTF-8 encoding</h4><p>Always 
use&#160;<code>UTF-8</code> encoding when building an application with the 
Apache Struts 2, when using JSPs please add the following header to each JSP 
file</p><div class="code panel pdl" style="border-width: 1px;"><div 
class="codeContent panelContent pdl">
+</div></div><p>The best approach is to used the both solutions.</p><h4 
id="Security-DisabledevMode">Disable devMode</h4><p>The&#160;<code 
style="line-height: 1.4285715;">devMode</code> is a very useful option during 
development time, allowing for deep introspection and debugging into you 
app.</p><p>However, in production it exposes your application to be presenting 
too many informations on application's internals or to evaluating risky 
parameter expressions.</p><div class="confluence-information-macro 
confluence-information-macro-note"><p class="title">How to disable devMode in 
production</p><span class="aui-icon aui-icon-small aui-iconfont-warning 
confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body"><p>Please <strong>always 
disable&#160;<code>devMode</code></strong>&#160;before deploying your 
application to a production environment. While it is disabled by default, your 
struts.xml might include a line setting it to true. The best way is to ensure
  the following setting is applied to our struts.xml for production 
deployment:</p><pre><span>&lt;</span><span style="color: 
rgb(0,0,128);">constant </span><span style="color: 
rgb(0,0,255);">name</span><span style="color: rgb(0,128,0);">="struts.devMode" 
</span><span style="color: rgb(0,0,255);">value</span><span style="color: 
rgb(0,128,0);">="false"</span><span>/&gt;</span></pre></div></div><p>&#160;</p><h4
 id="Security-UseUTF-8encoding">Use UTF-8 encoding</h4><p>Always 
use&#160;<code>UTF-8</code> encoding when building an application with the 
Apache Struts 2, when using JSPs please add the following header to each JSP 
file</p><div class="code panel pdl" style="border-width: 1px;"><div 
class="codeContent panelContent pdl">
 <pre class="brush: xml; gutter: false; theme: Default" 
style="font-size:12px;">&lt;%@ page contentType="text/html; charset=UTF-8" 
%&gt;</pre>
 </div></div><h3 id="Security-Internalsecuritymechanism">Internal security 
mechanism</h3><p>The Apache Struts 2 contains internal security manager which 
blocks access to particular classes and Java packages - it's a OGNL-wide 
mechanism which means it affects any aspect of the framework ie. incoming 
parameters, expressions used in JSPs, etc.</p><p>There are three options that 
can be used to configure excluded packages and classes:</p><ul 
style="list-style-type: square;"><li><code>struts.excludedClasses</code> - 
comma-separated list of excluded 
classes</li><li><code>struts.excludedPackageNamePatterns</code> - patterns used 
to exclude packages based on RegEx - this option is slower than simple string 
comparison but it's more 
flexible</li><li><code>struts.excludedPackageNames</code> - comma-separated 
list of excluded packages, it is used with simple string comparison 
via&#160;<code>startWith</code> and&#160;<code>equals</code></li></ul><p>The 
defaults are as follow:</p><div class="code p
 anel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
 <pre class="brush: xml; gutter: false; theme: Default" 
style="font-size:12px;">&lt;constant name="struts.excludedClasses"

Added: websites/production/struts/content/docs/version-notes-2326.html
==============================================================================
--- websites/production/struts/content/docs/version-notes-2326.html (added)
+++ websites/production/struts/content/docs/version-notes-2326.html Thu Mar 17 
08:32:29 2016
@@ -0,0 +1,168 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd";>
+<!-- 
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you 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.  See the License for the
+specific language governing permissions and limitations
+under the License. 
+-->
+<html>
+<head>
+    <link type="text/css" rel="stylesheet" 
href="https://struts.apache.org/css/default.css";>
+    <style type="text/css">
+        .dp-highlighter {
+            width:95% !important;
+        }
+    </style>
+    <style type="text/css">
+        .footer {
+            background-image:      
url('https://cwiki.apache.org/confluence/images/border/border_bottom.gif');
+            background-repeat:     repeat-x;
+            background-position:   left top;
+            padding-top:           4px;
+            color:                 #666;
+        }
+    </style>
+    <link href='https://struts.apache.org/highlighter/style/shCoreStruts.css' 
rel='stylesheet' type='text/css' />
+    <link href='https://struts.apache.org/highlighter/style/shThemeStruts.css' 
rel='stylesheet' type='text/css' />
+    <script src='https://struts.apache.org/highlighter/js/shCore.js' 
type='text/javascript'></script>
+    <script src='https://struts.apache.org/highlighter/js/shBrushPlain.js' 
type='text/javascript'></script>
+    <script src='https://struts.apache.org/highlighter/js/shBrushXml.js' 
type='text/javascript'></script>
+    <script src='https://struts.apache.org/highlighter/js/shBrushJava.js' 
type='text/javascript'></script>
+    <script src='https://struts.apache.org/highlighter/js/shBrushJScript.js' 
type='text/javascript'></script>
+    <script src='https://struts.apache.org/highlighter/js/shBrushGroovy.js' 
type='text/javascript'></script>
+    <script src='https://struts.apache.org/highlighter/js/shBrushBash.js' 
type='text/javascript'></script>
+    <script type="text/javascript">
+        SyntaxHighlighter.defaults['toolbar'] = false;
+        SyntaxHighlighter.all();
+    </script>
+    <script type="text/javascript" language="javascript">
+        var hide = null;
+        var show = null;
+        var children = null;
+
+        function init() {
+            /* Search form initialization */
+            var form = document.forms['search'];
+            if (form != null) {
+                form.elements['domains'].value = location.hostname;
+                form.elements['sitesearch'].value = location.hostname;
+            }
+
+            /* Children initialization */
+            hide = document.getElementById('hide');
+            show = document.getElementById('show');
+            children = document.all != null ?
+                    document.all['children'] :
+                    document.getElementById('children');
+            if (children != null) {
+                children.style.display = 'none';
+                show.style.display = 'inline';
+                hide.style.display = 'none';
+            }
+        }
+
+        function showChildren() {
+            children.style.display = 'block';
+            show.style.display = 'none';
+            hide.style.display = 'inline';
+        }
+
+        function hideChildren() {
+            children.style.display = 'none';
+            show.style.display = 'inline';
+            hide.style.display = 'none';
+        }
+    </script>
+    <title>Version Notes 2.3.26</title>
+</head>
+<body onload="init()">
+<table border="0" cellpadding="2" cellspacing="0" width="100%">
+    <tr class="topBar">
+        <td align="left" valign="middle" class="topBarDiv" align="left" nowrap>
+            &nbsp;<a href="home.html">Home</a>&nbsp;&gt;&nbsp;<a 
href="guides.html">Guides</a>&nbsp;&gt;&nbsp;<a 
href="migration-guide.html">Migration Guide</a>&nbsp;&gt;&nbsp;<a 
href="version-notes-2326.html">Version Notes 2.3.26</a>
+        </td>
+        <td align="right" valign="middle" nowrap>
+            <form name="search" action="https://www.google.com/search"; 
method="get">
+                <input type="hidden" name="ie" value="UTF-8" />
+                <input type="hidden" name="oe" value="UTF-8" />
+                <input type="hidden" name="domains" value="" />
+                <input type="hidden" name="sitesearch" value="" />
+                <input type="text" name="q" maxlength="255" value="" />
+                <input type="submit" name="btnG" value="Google Search" />
+            </form>
+        </td>
+    </tr>
+</table>
+
+<div id="PageContent">
+    <div class="pageheader" style="padding: 6px 0px 0px 0px;">
+        <!-- We'll enable this once we figure out how to access (and save) the 
logo resource -->
+        <!--img src="/wiki/images/confluence_logo.gif" style="float: left; 
margin: 4px 4px 4px 10px;" border="0"-->
+        <div style="margin: 0px 10px 0px 10px" class="smalltext">Apache Struts 
2 Documentation</div>
+        <div style="margin: 0px 10px 8px 10px"  class="pagetitle">Version 
Notes 2.3.26</div>
+
+        <div class="greynavbar" align="right" style="padding: 2px 10px; 
margin: 0px;">
+            <a 
href="https://cwiki.apache.org/confluence/pages/editpage.action?pageId=62687305";>
+                <img 
src="https://cwiki.apache.org/confluence/images/icons/notep_16.gif";
+                     height="16" width="16" border="0" align="absmiddle" 
title="Edit Page"></a>
+            <a 
href="https://cwiki.apache.org/confluence/pages/editpage.action?pageId=62687305";>Edit
 Page</a>
+            &nbsp;
+            <a 
href="https://cwiki.apache.org/confluence/pages/listpages.action?key=WW";>
+                <img 
src="https://cwiki.apache.org/confluence/images/icons/browse_space.gif";
+                     height="16" width="16" border="0" align="absmiddle" 
title="Browse Space"></a>
+            <a 
href="https://cwiki.apache.org/confluence/pages/listpages.action?key=WW";>Browse 
Space</a>
+            &nbsp;
+            <a 
href="https://cwiki.apache.org/confluence/pages/createpage.action?spaceKey=WW&fromPageId=62687305";>
+                <img 
src="https://cwiki.apache.org/confluence/images/icons/add_page_16.gif";
+                     height="16" width="16" border="0" align="absmiddle" 
title="Add Page"></a>
+            <a 
href="https://cwiki.apache.org/confluence/pages/createpage.action?spaceKey=WW&fromPageId=62687305";>Add
 Page</a>
+            &nbsp;
+            <a 
href="https://cwiki.apache.org/confluence/pages/createblogpost.action?spaceKey=WW&fromPageId=62687305";>
+                <img 
src="https://cwiki.apache.org/confluence/images/icons/add_blogentry_16.gif";
+                     height="16" width="16" border="0" align="absmiddle" 
title="Add News"></a>
+            <a 
href="https://cwiki.apache.org/confluence/pages/createblogpost.action?spaceKey=WW&fromPageId=62687305";>Add
 News</a>
+        </div>
+    </div>
+
+    <div class="pagecontent">
+        <div class="wiki-content">
+            <div id="ConfluenceContent"><p><img class="emoticon emoticon-tick" 
src="https://cwiki.apache.org/confluence/s/en_GB/5982/f2b47fb3d636c8bc9fd0b11c0ec6d0ae18646be7.1/_/images/icons/emoticons/check.png";
 data-emoticon-name="tick" alt="(tick)"> These are the notes for the Struts 
2.3.26 distribution.</p><p><img class="emoticon emoticon-tick" 
src="https://cwiki.apache.org/confluence/s/en_GB/5982/f2b47fb3d636c8bc9fd0b11c0ec6d0ae18646be7.1/_/images/icons/emoticons/check.png";
 data-emoticon-name="tick" alt="(tick)"> For prior notes in this release 
series, see <a shape="rect" href="version-notes-2320.html">Version Notes 
2.3.20</a></p><ul><li>If you are a Maven user, you might want to get started 
using the <a shape="rect" href="struts-2-maven-archetypes.html">Maven 
Archetype</a>.</li><li>Another quick-start entry point is the 
<strong>blank</strong> application. Rename and deploy the WAR as a starting 
point for your own development.</li><li>There is huge number of examples you 
can als
 o use as a starting point for you application&#160;<a shape="rect" 
class="external-link" href="https://github.com/apache/struts-examples"; 
rel="nofollow">here</a></li></ul><div class="code panel pdl" 
style="border-width: 1px;"><div class="codeHeader panelHeader pdl" 
style="border-bottom-width: 1px;"><b>Maven Dependency</b></div><div 
class="codeContent panelContent pdl">
+<pre class="brush: xml; gutter: false; theme: Default" 
style="font-size:12px;">&lt;dependency&gt;
+  &lt;groupId&gt;org.apache.struts&lt;/groupId&gt;
+  &lt;artifactId&gt;struts2-core&lt;/artifactId&gt;
+  &lt;version&gt;2.3.26&lt;/version&gt;
+&lt;/dependency&gt;
+</pre>
+</div></div><p>You can also use Struts Archetype Catalog like below</p><div 
class="code panel pdl" style="border-width: 1px;"><div class="codeHeader 
panelHeader pdl" style="border-bottom-width: 1px;"><b>Struts Archetype 
Catalog</b></div><div class="codeContent panelContent pdl">
+<pre class="brush: text; gutter: false; theme: Default" 
style="font-size:12px;">mvn archetype:generate 
-DarchetypeCatalog=http://struts.apache.org/</pre>
+</div></div><div class="code panel pdl" style="border-width: 1px;"><div 
class="codeHeader panelHeader pdl" style="border-bottom-width: 1px;"><b>Staging 
Repository</b></div><div class="codeContent panelContent pdl">
+<pre class="brush: xml; gutter: false; theme: Default" 
style="font-size:12px;">&lt;repositories&gt;
+  &lt;repository&gt;
+    &lt;id&gt;apache.nexus&lt;/id&gt;
+    &lt;name&gt;ASF Nexus Staging&lt;/name&gt;
+    
&lt;url&gt;https://repository.apache.org/content/groups/staging/&lt;/url&gt;
+  &lt;/repository&gt;
+&lt;/repositories&gt;</pre>
+</div></div><h2 id="VersionNotes2.3.26-InternalChanges">Internal 
Changes</h2><ul><li><img class="emoticon emoticon-warning" 
src="https://cwiki.apache.org/confluence/s/en_GB/5982/f2b47fb3d636c8bc9fd0b11c0ec6d0ae18646be7.1/_/images/icons/emoticons/warning.png";
 data-emoticon-name="warning" alt="(warning)">&#160;Possible XSS vulnerability 
in pages not using UTF-8 was fixed, read more details in&#160;<a shape="rect" 
href="s2-028.html">S2-028</a></li><li><img class="emoticon emoticon-warning" 
src="https://cwiki.apache.org/confluence/s/en_GB/5982/f2b47fb3d636c8bc9fd0b11c0ec6d0ae18646be7.1/_/images/icons/emoticons/warning.png";
 data-emoticon-name="warning" alt="(warning)">&#160;Prevents possible RCE when 
reusing user input in tag's attributes, see more details in&#160;<a 
shape="rect" href="s2-029.html">S2-029</a></li><li><img class="emoticon 
emoticon-warning" 
src="https://cwiki.apache.org/confluence/s/en_GB/5982/f2b47fb3d636c8bc9fd0b11c0ec6d0ae18646be7.1/_/images/icons/emoticons/warning.png";
  data-emoticon-name="warning" 
alt="(warning)">&#160;<code>I18NInterceptor</code> narrows selected locale to 
those available in JVM to reduce possibility of another XSS vulnerability, see 
more details in&#160;<a shape="rect" 
href="s2-030.html">S2-030</a></li><li>New&#160;<code>Configurationprovider</code>
 type was introduced -&#160;<a shape="rect" 
href="configuration-provider-configuration.html">ServletContextAwareConfigurationProvider</a>,
 see&#160;<a shape="rect" class="external-link" 
href="https://issues.apache.org/jira/browse/WW-4410";>WW-4410</a></li><li>Setting
 status code in <code>HttpHeaders</code>&#160;isn't ignored anymore, 
see&#160;<a shape="rect" class="external-link" 
href="https://issues.apache.org/jira/browse/WW-4545";>WW-4545</a></li><li>Spring 
<code>BeanPostProcessor(s)</code>&#160;are called only once to constructed 
objects., see&#160;<a shape="rect" class="external-link" 
href="https://issues.apache.org/jira/browse/WW-4554";>WW-4554</a></li><li>OGNL 
was upgraded to vers
 ion 3.0.13, see&#160;<a shape="rect" class="external-link" 
href="https://issues.apache.org/jira/browse/WW-4562";>WW-4562</a></li><li>Tiles 
2 Plugin was upgraded to latest available Tiles 2 version, see&#160;<a 
shape="rect" class="external-link" 
href="https://issues.apache.org/jira/browse/WW-4568";>WW-4568</a></li><li>A 
dedicated assembly with minimal set of jars was defined, see&#160;<a 
shape="rect" class="external-link" 
href="https://issues.apache.org/jira/browse/WW-4570";>WW-4570</a></li><li>Struts2
 Rest plugin properly handles JSESSIONID with DMI, see&#160;<a shape="rect" 
class="external-link" 
href="https://issues.apache.org/jira/browse/WW-4585";>WW-4585</a></li><li>Improved
 the Struts2 Rest plugin to honor Accept header, see&#160;<a shape="rect" 
class="external-link" 
href="https://issues.apache.org/jira/browse/WW-4588";>WW-4588</a></li><li><code>MessageStoreInterceptor</code>
 was refactored to use&#160;<code>PreResultListener</code>&#160;to store 
messages, see&#160;<a shape="rect" cl
 ass="external-link" 
href="https://issues.apache.org/jira/browse/WW-4605";>WW-4605</a></li><li>A new 
annotation was added to support configuring Tiles - 
<code>@TilesDefinition</code>, see&#160;<a shape="rect" class="external-link" 
href="https://issues.apache.org/jira/browse/WW-4606";>WW-4606</a></li><li>and 
many other small improvements, please see the release 
notes</li></ul><p>&#160;</p><div class="confluence-information-macro 
confluence-information-macro-note"><span class="aui-icon aui-icon-small 
aui-iconfont-warning confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body"><p>This release contains fix related 
to <a shape="rect" href="s2-028.html">S2-028</a>, <a shape="rect" 
href="s2-029.html">S2-029</a> and <a shape="rect" href="s2-030.html">S2-030</a> 
security bulletins, please read it carefully!</p></div></div><h3 
id="VersionNotes2.3.26-IssueDetail">Issue Detail</h3><ul><li><a shape="rect" 
class="external-link" href="https://issues.apache.org/jira/se
 cure/ReleaseNote.jspa?version=12333842&amp;projectId=12311041">JIRA Release 
Notes 2.3.26</a></li></ul><h3 id="VersionNotes2.3.26-IssueList">Issue 
List</h3><ul><li><a shape="rect" class="external-link" 
href="https://issues.apache.org/jira/issues/?filter=12326872";>Struts 2.3.20 
DONE</a></li><li><a shape="rect" class="external-link" 
href="https://issues.apache.org/jira/issues/?filter=12318399";>Struts 2.3.x 
TODO</a></li></ul><h3 id="VersionNotes2.3.26-Otherresources">Other 
resources</h3><ul><li><a shape="rect" class="external-link" 
href="http://www.mail-archive.com/commits%40struts.apache.org/"; 
rel="nofollow">Commit Logs</a></li><li><a shape="rect" class="external-link" 
href="https://git-wip-us.apache.org/repos/asf?p=struts.git;a=tree;h=refs/heads/develop;hb=develop";>Source
 Code Repository</a></li></ul><div><span style="font-size: 24.0px;line-height: 
30.0px;"><br clear="none"></span></div><div><span style="font-size: 
24.0px;line-height: 30.0px;background-color: rgb(245,245,245);"><br cl
 ear="none"></span></div></div>
+        </div>
+
+        
+    </div>
+</div>
+<div class="footer">
+    Generated by CXF SiteExporter
+</div>
+</body>
+</html>



Reply via email to