Neil Griffin created PLUTO-768:
----------------------------------

             Summary: Introduce CSRF protection for the ACTION_PHASE via Spring 
Security
                 Key: PLUTO-768
                 URL: https://issues.apache.org/jira/browse/PLUTO-768
             Project: Pluto
          Issue Type: New Feature
          Components: portal driver, portlet container
            Reporter: Neil Griffin
            Assignee: Neil Griffin
             Fix For: 3.0.2


This feature will add Cross-Site Request Forgery 
[CSRF|https://www.owasp.org/index.php/Cross-Site_Request_Forgery_(CSRF)] 
protection for the {{ACTION_PHASE}} of the portlet lifecycle via Spring 
Security.

Specifically, it will ensure that the Spring Security {{_csrf}} parameter is 
added to every {{javax.portlet.ActionURL}} generated by Pluto's portlet 
container. It will also utilize the "springSecurityFilterChain" in order to 
verify that the value of the {{_csrf}} parameter is the correct value before 
invoking the {{ACTION_PHASE}} of the portlet lifecycle.

This feature does *not* secure any other phases of the portlet lifecycle (such 
as the {{RESOURCE_PHASE}}. It is important to note that if a portlet developer 
uses an XmlHttpRequest (XHR) to submit a form via HTTP POST with a 
{{javax.portlet.ResourceURL}}, then it is still incumbent upon the portlet 
developer to leverage some kind of CSRF protection.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to