Peter Stöckli created MYFACES-4133:
--------------------------------------

             Summary: Don't deserialize the client provided ViewState if the 
state saving method is server
                 Key: MYFACES-4133
                 URL: https://issues.apache.org/jira/browse/MYFACES-4133
             Project: MyFaces Core
          Issue Type: Bug
          Components: General
    Affects Versions: 2.2.12
            Reporter: Peter Stöckli


Currently the ViewState provided by the user is deserialized via Java 
deserialization even when the {{javax.faces.STATE_SAVING_METHOD}} is set to 
{{server}} (the default).

The deserialization in this case is unecessary and most likely even slower than 
just sending the ViewState Id directly.
If a developer now disables the ViewState encryption by setting 
{{org.apache.myfaces.USE_ENCRYPTION}} to {{false}} (against the [MyFaces 
security advice|https://wiki.apache.org/myfaces/Secure_Your_Application]) he 
might have unintentionally introduced a dangerous remote code execution (RCE) 
vulnerability as described 
[here|https://www.alphabot.com/security/blog/2017/java/Misconfigured-JSF-ViewStates-can-lead-to-severe-RCE-vulnerabilities.html].

This has been discussed before on [Issue 
MYFACES-4021|https://issues.apache.org/jira/browse/MYFACES-4021].






--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to