Opened 14 months ago

Last modified 4 months ago

#20276 new enhancement

Tie nonces to the current session

Reported by: ryan Owned by:
Priority: normal Milestone: Future Release
Component: Security Version:
Severity: normal Keywords:
Cc: scribu, johnbillion, juliobosk@…

Description

Owasp specifies that "the synchronizer token pattern requires the generating of random challenge tokens that are associated with the user's current session." Our nonces have a timeout, but that timeout can span cookie sessions. Instead, nonces should be somehow tied to the current auth cookie and invalidate whenever the cookie invalidates.

https://www.owasp.org/index.php/Cross-Site_Request_Forgery_(CSRF)_Prevention_Cheat_Sheet

Change History (4)

  • Type changed from defect (bug) to enhancement

I imagine we can take a piece of the auth cookie and include it in the hash. We'll need to include an identifier at a consistent location in the nonce in order to make note of which cookie was used, as we are going to want to leverage the SSL cookie if possible, other times we may need to use the logged_in cookie (say, the logout nonce).

If we generate a nonce in the backend with an admin cookie, but try to use the nonce on the frontend, the nonce will fail. So perhaps we need to stick to logged_in cookie for now.

  • Cc scribu added
  • Cc johnbillion added
  • Cc juliobosk@… added
Note: See TracTickets for help on using tickets.