CVE-2026-79990: CWE-639 Authorization bypass through User-Controlled key in craftcms cms
Description
Craft CMS GraphQL entry mutation resolvers (saveEntry, deleteEntry) read siteIddirectly from$argumentswithout passing throughArgumentManagerprepareArguments(), which is the function that enforces site-scope filtering via array_intersect against the GraphQL schema’s allowed sites. The query path (ElementResolverprepareElementQuery) correctly calls prepareArguments()`, so queries to unauthorized sites return empty. But mutations bypass this entirely — an attacker with a token scoped to Site A can create, modify, or delete entries in Site B by passing siteId in the mutations argument.
CVSS v4.0
Score 8.7high
Affected software
craftcms
cms
pkg:composer/craftcms/cmsRun on your own infrastructure? Check whether these packages are installed with threat-finder — our free open-source scanner.
Weaknesses
AI-Powered Analysis
Machine-generated threat intelligence
Technical Analysis
Craft CMS GraphQL entry mutation resolvers (saveEntry, deleteEntry) do not enforce site-scope filtering on the siteId argument because they read it directly from the arguments without passing through ArgumentManager's prepareArguments() function. This function normally enforces site-scope filtering by intersecting allowed sites from the GraphQL schema. While queries correctly call prepareArguments() and thus restrict access, mutations bypass this mechanism entirely. Consequently, an attacker possessing a token scoped to Site A can create, modify, or delete entries in Site B by specifying siteId in the mutation arguments, resulting in an authorization bypass (CWE-639).
Potential Impact
An attacker with limited privileges scoped to one site can perform unauthorized mutations (create, modify, delete) on entries belonging to other sites within the same Craft CMS instance. This breaks site-level authorization boundaries, potentially leading to data tampering or unauthorized content changes across sites.
Mitigation Recommendations
Patch status is not yet confirmed — check the vendor advisory for current remediation guidance. Until an official fix is available, restrict GraphQL mutation token scopes carefully and monitor for suspicious mutation activities. Avoid exposing mutation capabilities to untrusted users or tokens scoped to limited sites.
Technical Details
- Data Version
- 5.2
- Assigner Short Name
- Hackrate
- Date Reserved
- 2026-08-25T16:39:03.171Z
- Cvss Version
- 4.0
- State
- PUBLISHED
Threat ID: 6a98313aacd9273b49556b13
Added to database: 09/02/2026, 14:22:50 UTC
Last enriched: 09/07/2026, 13:34:44 UTC
Last updated: 10/18/2026, 06:48:20 UTC
Views: 79
Community Reviews
0 reviewsCrowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.
Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.
Actions
Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.
Need more coverage?
Upgrade to Pro Console for AI refresh and higher limits.
For incident response and remediation, OffSeq services can help resolve threats faster.
Latest Threats
Check if your credentials are on the dark web
Instant breach scanning across billions of leaked records. Free tier available.