[ https://issues.apache.org/jira/browse/MYFACES-4133?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16133041#comment-16133041 ]
Peter Stöckli edited comment on MYFACES-4133 at 8/18/17 2:42 PM: ----------------------------------------------------------------- [~lu4242]: I propose following steps: # Don't serialize/deserialize ViewState-IDs # If you say the ViewState encryption should never be disabled then don't allow the ViewState to be disabled! Remove the param {{org.apache.myfaces.USE_ENCRYPTION}} or better: throw an exception at start up if that param is set to false with a message like: "You must not disable ViewState encryption/auth! Assume all systems that had ViewState encryption disabled to be breached!" # Upgrade the default encryption and HMAC algorithms. was (Author: stockli): [~lu4242]: I propose following steps: # Don't serialize/deserialize ViewState-IDs # If you say the ViewState encryption should never be disabled then don't allow the ViewState to be disabled! Remove the param {org.apache.myfaces.USE_ENCRYPTION} or better: throw an exception at start up if that param is set to false with a message like: "You must not disable ViewState encryption/auth! Assume all systems that had ViewState encryption disabled to be breached!" # Upgrade the default encryption and HMAC algorithms. > Don't deserialize the ViewState-ID 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-ID 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)