| 5d8c9d42 | 06-Jun-2026 |
Andreas Gohr <andi@splitbrain.org> |
(security) Require a security token for the lock AJAX call
The lock AJAX call refreshes the edit lock and saves a draft, both of which change server state. It was gated only by the write ACL and, un
(security) Require a security token for the lock AJAX call
The lock AJAX call refreshes the edit lock and saves a draft, both of which change server state. It was gated only by the write ACL and, unlike the sibling draft-delete call, did not verify a security token (low severity).
A cross-site forged POST against a logged-in user could, within that user's own write permissions, take or hold an edit lock and store attacker-controlled draft content under their name.
The call now verifies the security token before taking the lock or saving the draft. Logged out users are unaffected, as no token is issued or checked for them. The edit lock timer now always sends the token with its refresh request, including when draft saving is disabled.
show more ...
|