Author: lukaszlenart
Date: Mon Jun 20 05:26:00 2016
New Revision: 991019

Log:
Updates production

Modified:
    websites/production/struts/content/docs/s2-036.html
    websites/production/struts/content/docs/s2-037.html
    websites/production/struts/content/docs/s2-038.html
    websites/production/struts/content/docs/s2-039.html
    websites/production/struts/content/docs/s2-040.html

Modified: websites/production/struts/content/docs/s2-036.html
==============================================================================
--- websites/production/struts/content/docs/s2-036.html (original)
+++ websites/production/struts/content/docs/s2-036.html Mon Jun 20 05:26:00 2016
@@ -125,7 +125,7 @@ under the License.
 
     <div class="pagecontent">
         <div class="wiki-content">
-            <div id="ConfluenceContent"><h2 
id="S2-036-Summary">Summary</h2>Forced double OGNL evaluation, when evaluated 
on raw user input in tag attributes, may lead to remote code execution (similar 
to S2-029)<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>Medium</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 r
 e-assigning them to certain Struts' tags attributes.</p><p>Don't use %{...} 
syntax in tag attributes other than <em>value</em> unless you have a valid 
use-case.</p><p>Alternatively upgrade to <a shape="rect" 
href="version-notes-2328.html">Struts 2.3.29</a> or <a shape="rect" 
href="version-notes-251.html">Struts 2.5.1</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);"> 2.3.28.1</span></p></td></tr><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Reporters</p></th><td colspan="1" rowspan="1" 
class="confluenceTd"><span 
class="Apple-tab-span"><span>Alvaro</span>&#160;</span>Munoz alvaro dot munoz 
at hpe.com</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></ta
 ble></div><h2 id="S2-036-Problem">Problem</h2><p>The same issue was reported 
in <a shape="rect" href="s2-029.html">S2-029</a> but the proposed solutions 
were not fully proper.&#160;The Apache Struts frameworks when forced, 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-036-Solution">Solution</h2><p>Adding 
a proper validation of each value that's coming in and it's used in tag's 
attributes.</p><p>Don't use forced evaluation of an attribute other than 
<em>value</em>&#160;using %{...} syntax unless really needed for a valid 
use-case.&#160;</p><p>By&#160;<span style="line-height: 1.42857;">upgrading to 
Struts 2.3.29 or 2.5.1, possible malicious effects of forced double evaluation 
are limited.</span></p><h2 id="S2-036-Backwardcompatibility">Backward 
compatibility</h2><p>Some backward incompatibility issues are expected when 
upgrading to Stru
 ts 2.3.28 - it can happen that some OGNL expressions stop working because of 
performing disallowed arithmetic operations and assigments.</p><h2 
id="S2-036-Workaround">Workaround</h2><p>Not possible as this fix requires 
changes in OGNL and how Struts uses OGNL in certain 
aspects.</p><p>&#160;</p></div>
+            <div id="ConfluenceContent"><h2 
id="S2-036-Summary">Summary</h2>Forced double OGNL evaluation, when evaluated 
on raw user input in tag attributes, may lead to remote code execution (similar 
to S2-029)<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>Medium</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 r
 e-assigning them to certain Struts' tags attributes.</p><p>Don't use %{...} 
syntax in tag attributes other than <em>value</em> unless you have a valid 
use-case.</p><p>Alternatively upgrade to <a shape="rect" 
href="version-notes-2328.html">Struts 2.3.29</a> or <a shape="rect" 
href="version-notes-251.html">Struts 2.5.1</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);"> 2.3.28.1</span></p></td></tr><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Reporters</p></th><td colspan="1" rowspan="1" 
class="confluenceTd"><span 
class="Apple-tab-span"><span>Alvaro</span>&#160;</span>Munoz alvaro dot munoz 
at hpe.com</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></ta
 ble></div><h2 id="S2-036-Problem">Problem</h2><p>The same issue was reported 
in <a shape="rect" href="s2-029.html">S2-029</a> but the proposed solutions 
were not fully proper.&#160;The Apache Struts frameworks when forced, 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-036-Solution">Solution</h2><p>Adding 
a proper validation of each value that's coming in and it's used in tag's 
attributes.</p><p>Don't use forced evaluation of an attribute other than 
<em>value</em>&#160;using %{...} syntax unless really needed for a valid 
use-case.&#160;</p><p>By&#160;<span style="line-height: 1.42857;">upgrading to 
Struts 2.3.29 or 2.5.1, possible malicious effects of forced double evaluation 
are limited.</span></p><h2 id="S2-036-Backwardcompatibility">Backward 
compatibility</h2><p>Some backward incompatibility issues are expected when 
upgrading to Stru
 ts 2.3.29 - it can happen that some OGNL expressions stop working because of 
performing disallowed arithmetic operations and assigments.</p><h2 
id="S2-036-Workaround">Workaround</h2><p>Not possible as this fix requires 
changes in OGNL and how Struts uses OGNL in certain 
aspects.</p><p>&#160;</p></div>
         </div>
 
         

Modified: websites/production/struts/content/docs/s2-037.html
==============================================================================
--- websites/production/struts/content/docs/s2-037.html (original)
+++ websites/production/struts/content/docs/s2-037.html Mon Jun 20 05:26:00 2016
@@ -125,7 +125,7 @@ under the License.
 
     <div class="pagecontent">
         <div class="wiki-content">
-            <div id="ConfluenceContent"><h2 
id="S2-037-Summary">Summary</h2>Remote Code Execution can be performed when 
using REST Plugin.<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</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>High</p></td></tr><tr><th colspan="1" 
rowspan="1" class="confluenceTh"><p>Recommendation</p></th><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Upgrade to<span>&#160;</span><a 
shape="rect" href="version-notes-2329.html">Struts 
2.3.29</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.3.20 - Struts <span style="color: 
rgb(23,35,59);">Struts 2.3.28.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>Chao Jack <span style="color: 
rgb(34,34,34);">PKAV_&#39321;&#33609;</span> jc1990999 at yahoo dot 
com</p><p>Shinsaku Nomura nomura at bitforest dot jp</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-4438</p></td></tr></tbody></table></div><h2 
id="S2-037-Problem">Problem</h2><p>It is possible to pass a malicious 
expression which can be used to execute arbitrary code on server side when 
using the REST Plugin.</p><h2 id="S2-037-Solution">Solution</h2><p>Upgrade to 
Apache Struts version 2.3.29.</p><h2 id="S2-037-Backwardcompatibility">Backward 
compatibility</h2><p>Som
 e backward incompatibility issues are expected when upgrading to Struts 2.3.28 
- it can happen that some OGNL expressions stop working because of performing 
disallowed arithmetic operations and assigments.</p><h2 
id="S2-037-Workaround">Workaround</h2><p>Not possible as this fix requires 
changes in OGNL and how Struts uses OGNL in certain aspects.</p></div>
+            <div id="ConfluenceContent"><h2 
id="S2-037-Summary">Summary</h2>Remote Code Execution can be performed when 
using REST Plugin.<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</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>High</p></td></tr><tr><th colspan="1" 
rowspan="1" class="confluenceTh"><p>Recommendation</p></th><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Upgrade to<span>&#160;</span><a 
shape="rect" href="version-notes-2329.html">Struts 
2.3.29</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.3.20 - Struts <span style="color: 
rgb(23,35,59);">Struts 2.3.28.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>Chao Jack <span style="color: 
rgb(34,34,34);">PKAV_&#39321;&#33609;</span> jc1990999 at yahoo dot 
com</p><p>Shinsaku Nomura nomura at bitforest dot jp</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-4438</p></td></tr></tbody></table></div><h2 
id="S2-037-Problem">Problem</h2><p>It is possible to pass a malicious 
expression which can be used to execute arbitrary code on server side when 
using the REST Plugin.</p><h2 id="S2-037-Solution">Solution</h2><p>Upgrade to 
Apache Struts version 2.3.29.</p><h2 id="S2-037-Backwardcompatibility">Backward 
compatibility</h2><p>Som
 e backward incompatibility issues are expected when upgrading to Struts 2.3.29 
- it can happen that some OGNL expressions stop working because of performing 
disallowed arithmetic operations and assigments.</p><h2 
id="S2-037-Workaround">Workaround</h2><p>Not possible as this fix requires 
changes in OGNL and how Struts uses OGNL in certain aspects.</p></div>
         </div>
 
         

Modified: websites/production/struts/content/docs/s2-038.html
==============================================================================
--- websites/production/struts/content/docs/s2-038.html (original)
+++ websites/production/struts/content/docs/s2-038.html Mon Jun 20 05:26:00 2016
@@ -138,7 +138,7 @@ under the License.
 
     <div class="pagecontent">
         <div class="wiki-content">
-            <div id="ConfluenceContent"><h2 id="S2-038-Summary">Summary</h2>It 
is possible to bypass token validation and perform a CSRF attack<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 CSRF attack</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>Medium</p></td></tr><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Recommendation</p></th><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Upgrade to<span>&#160;</span><a shape="rect" 
href="version-notes-2329.html">Struts 2.3.29</a>.</p></td></tr><tr><th 
colspan="1" rowspan="1" cla
 ss="confluenceTh"><p>Affected Software</p></th><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Struts 2.3.20 - Struts <span style="color: 
rgb(23,35,59);">Struts 2.3.28.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>Takeshi Terada websec02 dot g02 at 
gmail.com</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-4430</p></td></tr></tbody></table></div><h2 
id="S2-038-Problem">Problem</h2><p>It is possible to pass a malicious 
expression which can be used to bypass token validation and perform CSRF 
attack.</p><h2 id="S2-038-Solution">Solution</h2><p>Upgrade to Apache Struts 
version 2.3.29.</p><h2 id="S2-038-Backwardcompatibility">Backward 
compatibility</h2><p>Some backward incompatibility issues are expected when 
upgrading to Struts 2.3.28 - it can happen that some OGNL expressions stop
  working because of performing disallowed arithmetic operations and 
assignments.</p><h2 id="S2-038-Workaround">Workaround</h2><p>You can try to use 
more restrictive RegEx used to clean up action names as below:</p><div 
class="code panel pdl" style="border-width: 1px;"><div class="codeContent 
panelContent pdl">
+            <div id="ConfluenceContent"><h2 id="S2-038-Summary">Summary</h2>It 
is possible to bypass token validation and perform a CSRF attack<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 CSRF attack</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>Medium</p></td></tr><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Recommendation</p></th><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Upgrade to<span>&#160;</span><a shape="rect" 
href="version-notes-2329.html">Struts 2.3.29</a>.</p></td></tr><tr><th 
colspan="1" rowspan="1" cla
 ss="confluenceTh"><p>Affected Software</p></th><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Struts 2.3.20 - Struts <span style="color: 
rgb(23,35,59);">Struts 2.3.28.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>Takeshi Terada websec02 dot g02 at 
gmail.com</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-4430</p></td></tr></tbody></table></div><h2 
id="S2-038-Problem">Problem</h2><p>It is possible to pass a malicious 
expression which can be used to bypass token validation and perform CSRF 
attack.</p><h2 id="S2-038-Solution">Solution</h2><p>Upgrade to Apache Struts 
version 2.3.29.</p><h2 id="S2-038-Backwardcompatibility">Backward 
compatibility</h2><p>Some backward incompatibility issues are expected when 
upgrading to Struts 2.3.29 - it can happen that some OGNL expressions stop
  working because of performing disallowed arithmetic operations and 
assignments.</p><h2 id="S2-038-Workaround">Workaround</h2><p>You can try to use 
more restrictive RegEx used to clean up action names as below:</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;constant name="struts.allowed.action.names" 
value="[a-zA-Z]*" /&gt;</pre>
 </div></div><p>Please adjust the RegEx to your action naming pattern, it 
should be as narrowed as possible.</p></div>
         </div>

Modified: websites/production/struts/content/docs/s2-039.html
==============================================================================
--- websites/production/struts/content/docs/s2-039.html (original)
+++ websites/production/struts/content/docs/s2-039.html Mon Jun 20 05:26:00 2016
@@ -138,7 +138,7 @@ under the License.
 
     <div class="pagecontent">
         <div class="wiki-content">
-            <div id="ConfluenceContent"><h2 
id="S2-039-Summary">Summary</h2>Getter as action method leads to security 
bypass<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 manipulation of return result and 
bypassing validation</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>Medium</p></td></tr><tr><th colspan="1" 
rowspan="1" class="confluenceTh"><p>Recommendation</p></th><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Upgrade to<span>&#160;</span><a 
shape="rect" href="version-notes-2329.html">Struts 
2.3.29</a>.</p></td></tr><tr><th col
 span="1" rowspan="1" class="confluenceTh"><p>Affected Software</p></th><td 
colspan="1" rowspan="1" class="confluenceTd"><p>Struts 2.3.20 - Struts <span 
style="color: rgb(23,35,59);">Struts 2.3.28.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>Takeshi Terada websec02 dot g02 
at gmail.com</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-4433</p></td></tr></tbody></table></div><h2 
id="S2-039-Problem">Problem</h2><p>It is possible to pass a crafted request 
which can be used to bypass internal security mechanism and manipulate return 
string which can leads to redirecting user to unvalidated location.</p><h2 
id="S2-039-Solution">Solution</h2><p>Upgrade to Apache Struts version 
2.3.29.</p><h2 id="S2-039-Backwardcompatibility">Backward 
compatibility</h2><p>Some backward incompatibility issu
 es are expected when upgrading to Struts 2.3.28 - it can happen that some OGNL 
expressions stop working because of performing disallowed arithmetic operations 
and assignments.</p><h2 id="S2-039-Workaround">Workaround</h2><p>You can try to 
use more restrictive RegEx used to clean up action names as below:</p><div 
class="code panel pdl" style="border-width: 1px;"><div class="codeContent 
panelContent pdl">
+            <div id="ConfluenceContent"><h2 
id="S2-039-Summary">Summary</h2>Getter as action method leads to security 
bypass<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 manipulation of return result and 
bypassing validation</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>Medium</p></td></tr><tr><th colspan="1" 
rowspan="1" class="confluenceTh"><p>Recommendation</p></th><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Upgrade to<span>&#160;</span><a 
shape="rect" href="version-notes-2329.html">Struts 
2.3.29</a>.</p></td></tr><tr><th col
 span="1" rowspan="1" class="confluenceTh"><p>Affected Software</p></th><td 
colspan="1" rowspan="1" class="confluenceTd"><p>Struts 2.3.20 - Struts <span 
style="color: rgb(23,35,59);">Struts 2.3.28.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>Takeshi Terada websec02 dot g02 
at gmail.com</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-4433</p></td></tr></tbody></table></div><h2 
id="S2-039-Problem">Problem</h2><p>It is possible to pass a crafted request 
which can be used to bypass internal security mechanism and manipulate return 
string which can leads to redirecting user to unvalidated location.</p><h2 
id="S2-039-Solution">Solution</h2><p>Upgrade to Apache Struts version 
2.3.29.</p><h2 id="S2-039-Backwardcompatibility">Backward 
compatibility</h2><p>Some backward incompatibility issu
 es are expected when upgrading to Struts 2.3.29 - it can happen that some OGNL 
expressions stop working because of performing disallowed arithmetic operations 
and assignments.</p><h2 id="S2-039-Workaround">Workaround</h2><p>You can try to 
use more restrictive RegEx used to clean up action names as below:</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;constant name="struts.allowed.action.names" 
value="[a-zA-Z]*" /&gt;</pre>
 </div></div><p>Please adjust the RegEx to your action naming pattern, it 
should be as narrowed as possible.</p></div>
         </div>

Modified: websites/production/struts/content/docs/s2-040.html
==============================================================================
--- websites/production/struts/content/docs/s2-040.html (original)
+++ websites/production/struts/content/docs/s2-040.html Mon Jun 20 05:26:00 2016
@@ -138,7 +138,7 @@ under the License.
 
     <div class="pagecontent">
         <div class="wiki-content">
-            <div id="ConfluenceContent"><h2 
id="S2-040-Summary">Summary</h2>Input validation bypass using existing default 
action method.<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 manipulation of return result and 
bypassing validation</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>Medium</p></td></tr><tr><th colspan="1" 
rowspan="1" class="confluenceTh"><p>Recommendation</p></th><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Upgrade to<span>&#160;</span><a 
shape="rect" href="version-notes-2329.html">Struts 2.3.29</a>.</p></td></t
 r><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Affected 
Software</p></th><td colspan="1" rowspan="1" class="confluenceTd"><p>Struts 
2.3.20 - Struts <span style="color: rgb(23,35,59);">Struts 
2.3.28.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>Takeshi Terada websec02 dot g02 at 
gmail.com</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-4431</p></td></tr></tbody></table></div><h2 
id="S2-040-Problem">Problem</h2><p>Using existing default method it can be 
possible to bypass internal security mechanism and manipulate return string 
which can leads to redirecting user to unvalidated location.</p><h2 
id="S2-040-Solution">Solution</h2><p>Upgrade to Apache Struts version 
2.3.29.</p><h2 id="S2-040-Backwardcompatibility">Backward 
compatibility</h2><p>Some backward incompatibility i
 ssues are expected when upgrading to Struts 2.3.28 - it can happen that some 
OGNL expressions stop working because of performing disallowed arithmetic 
operations and assignments.</p><h2 id="S2-040-Workaround">Workaround</h2><p>You 
can try to use more restrictive RegEx used to clean up action names as 
below:</p><div class="code panel pdl" style="border-width: 1px;"><div 
class="codeContent panelContent pdl">
+            <div id="ConfluenceContent"><h2 
id="S2-040-Summary">Summary</h2>Input validation bypass using existing default 
action method.<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 manipulation of return result and 
bypassing validation</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>Medium</p></td></tr><tr><th colspan="1" 
rowspan="1" class="confluenceTh"><p>Recommendation</p></th><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Upgrade to<span>&#160;</span><a 
shape="rect" href="version-notes-2329.html">Struts 2.3.29</a>.</p></td></t
 r><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Affected 
Software</p></th><td colspan="1" rowspan="1" class="confluenceTd"><p>Struts 
2.3.20 - Struts <span style="color: rgb(23,35,59);">Struts 
2.3.28.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>Takeshi Terada websec02 dot g02 at 
gmail.com</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-4431</p></td></tr></tbody></table></div><h2 
id="S2-040-Problem">Problem</h2><p>Using existing default method it can be 
possible to bypass internal security mechanism and manipulate return string 
which can leads to redirecting user to unvalidated location.</p><h2 
id="S2-040-Solution">Solution</h2><p>Upgrade to Apache Struts version 
2.3.29.</p><h2 id="S2-040-Backwardcompatibility">Backward 
compatibility</h2><p>Some backward incompatibility i
 ssues are expected when upgrading to Struts 2.3.29 - it can happen that some 
OGNL expressions stop working because of performing disallowed arithmetic 
operations and assignments.</p><h2 id="S2-040-Workaround">Workaround</h2><p>You 
can try to use more restrictive RegEx used to clean up action names as 
below:</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;constant name="struts.allowed.action.names" 
value="[a-zA-Z]*" /&gt;</pre>
 </div></div><p>Please adjust the RegEx to your action naming pattern, it 
should be as narrowed as possible.</p></div>
         </div>


Reply via email to