Missing Authorization in Craft CMS - #VU144279
Published: August 19, 2026
Vulnerability details
The vulnerability allows a remote user to delete another user\'s provisional draft and disclose its in-progress content.
The vulnerability exists due to missing authorization in ElementsController::actionDuplicate() when handling a request with the deleteProvisionalDraft parameter for a peer provisional draft. A remote user can send a crafted request to duplicate and delete another user\'s provisional draft and disclose its in-progress content.
The duplicate operation is gated by canDuplicateAsDraft(), which for Entry checks createEntries but does not require deletePeerEntryDrafts, and the created duplicate becomes the user\'s own unpublished draft.