Skip to main content
CVE Vulnerability Database
Vulnerability Database/CVE-2026-84798

CVE-2026-84798: Craft CMS Auth Bypass Vulnerability

CVE-2026-84798 is an authentication bypass flaw in Craft CMS that allows users to delete canonical entries without proper authorization. This post explains its impact, affected versions, and mitigation steps.

Published:

CVE-2026-84798 Overview

CVE-2026-84798 is an authorization bypass vulnerability in Craft CMS versions >= 5.0.0-RC1 and < 5.10.11. The flaw resides in ElementsController::actionDeleteForSite(), which fails to perform an independent permission check before deleting canonical entries. An authenticated user without the deleteEntriesForSite permission can hard-delete a canonical entry's site record. For single-site entries, this destroys the entire element and its content. The deletion bypasses Craft's recycle bin, making the operation irrecoverable. The vulnerability is classified as [CWE-862] Missing Authorization.

Critical Impact

Authenticated low-privilege users can permanently destroy canonical Craft CMS entries without the required delete permission, with no recovery path through the recycle bin.

Affected Products

  • Craft CMS versions >= 5.0.0-RC1
  • Craft CMS versions < 5.10.11
  • Deployments using multi-site or single-site entries with delegated editorial roles

Discovery Timeline

  • 2026-09-02 - CVE-2026-84798 published to NVD
  • 2026-09-02 - Last updated in NVD database

Technical Details for CVE-2026-84798

Vulnerability Analysis

The vulnerability exists in the actionDeleteForSite() method of ElementsController in Craft CMS. The method loads the target element with the checkForProvisionalDraft flag enabled. This causes Craft to substitute the user's own provisional draft for the canonical element during authorization.

The deletion authorization check then evaluates against the provisional draft rather than the canonical entry. Since users own their provisional drafts by definition, the check only verifies draft ownership. The controller subsequently propagates the delete operation to the canonical element without re-evaluating permissions against it.

The result is a broken access control condition. A user holding viewEntries, viewPeerEntries, saveEntries, savePeerEntries, and editSite permissions, but explicitly lacking deleteEntriesForSite, can trigger destruction of canonical content. For single-site entries, the full element and its content are removed. Craft's recycle bin does not capture these deletions, so recovery requires restoring from database backups.

Root Cause

The root cause is a Missing Authorization defect [CWE-862]. The controller conflates authorization over a provisional draft with authorization over the canonical element. It relies on a single, contextually incorrect permission check instead of independently verifying that the acting user holds deleteEntriesForSite on the canonical target.

Attack Vector

The attack requires network access to the Craft CMS control panel and authenticated session with editorial permissions. An attacker with a low-tier editor account crafts a request to the elements/delete-for-site action against a canonical entry they can view or edit. The request succeeds despite the account lacking site-scoped delete rights, causing irreversible removal of the entry's site record or full element.

Refer to the GitHub Security Advisory GHSA-5fh8-74j8-mvcp and the VulnCheck Advisory on Craft CMS for further technical detail.

Detection Methods for CVE-2026-84798

Indicators of Compromise

  • Unexpected POST requests to /actions/elements/delete-for-site originating from non-administrative accounts.
  • Craft CMS audit log entries showing canonical entries deleted by users without the deleteEntriesForSite permission.
  • Missing single-site entries with no corresponding recycle bin record.
  • Sudden decreases in entry counts for specific sites correlated with editor-tier account activity.

Detection Strategies

  • Enable and review Craft's action logs for calls to ElementsController::actionDeleteForSite() and correlate the acting user's assigned permissions.
  • Compare pre- and post-request database state for the elements and elements_sites tables to identify unauthorized removals.
  • Deploy web application firewall (WAF) rules that flag delete-for-site requests initiated by session tokens tied to accounts lacking site-delete rights.

Monitoring Recommendations

  • Alert on any deletion action against canonical entries performed by non-admin roles.
  • Track database write operations touching elements_sites outside of maintenance windows.
  • Forward Craft CMS application logs to a centralized log platform for retention and correlation with authentication events.

How to Mitigate CVE-2026-84798

Immediate Actions Required

  • Upgrade Craft CMS to version 5.10.11 or later immediately.
  • Audit user group permissions and remove editSite from roles that do not require site-record management.
  • Verify recent database backups are intact and restorable in case unauthorized deletions have already occurred.
  • Review Craft CMS access logs for prior invocations of the delete-for-site action by non-privileged users.

Patch Information

Craft CMS 5.10.11 introduces an independent authorization check inside actionDeleteForSite() that evaluates the deleteEntriesForSite permission against the canonical element before propagating the deletion. Details are available in GitHub Security Advisory GHSA-5fh8-74j8-mvcp.

Workarounds

  • Restrict control panel access to trusted administrator accounts until the upgrade is completed.
  • Temporarily revoke editSite from editor and author roles to reduce the exploitable population.
  • Place the Craft CMS admin path behind an IP allowlist or VPN gateway to limit exposure.
  • Maintain frequent, tested database backups so canonical entry deletions can be restored.

Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

Default Legacy - Prefooter | Experience the World’s Most Advanced Cybersecurity Platform

Experience the Most Advanced Cybersecurity Platform

See how the world’s most intelligent, autonomous cybersecurity platform can protect your organization today and into the future.