Missing Authorization in Craft CMS - CVE-2026-84797
Published: August 19, 2026 / Updated: September 14, 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.