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.
Published: 2026-09-02
Score: 8.7 High
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

Craft CMS GraphQL entry mutation resolvers (saveEntry, deleteEntry) read the siteId argument directly from the GraphQL arguments without first passing it through the ArgumentManager’s prepareArguments() method, which enforces site‑scope filtering. As a result, an attacker who controls a token scoped to Site A can supply a siteId that targets Site B and create, modify, or delete entries there. This bypass of the schema’s allowed‑sites check allows cross‑site data manipulation, compromising confidentiality, integrity, and availability of content on the unauthorized site.

Affected Systems

Craft CMS installations that use the CMS product (Craft CMS CMS) are affected. The vulnerability exists in all versions of Craft CMS prior to the 5.10.11 release; upgrading to 5.10.11 or later applies the fix.

Risk and Exploitability

The CVSS score of 8.7 indicates high severity. The EPSS score is not available, so the current exploit probability cannot be quantified, and the vulnerability is not listed in CISA’s KEV catalog. The likely attack vector is via the public GraphQL endpoint: an authenticated user with a Site‑scoped token can craft a mutation that includes a siteId referring to a different site. Once the mutation is executed, the target site’s entries are altered or removed without authorization.

Generated by OpenCVE AI on September 3, 2026 at 09:48 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade Craft CMS to version 5.10.11 or newer to apply the official patch.
  • Restrict GraphQL API tokens so that they are scoped only to the sites they need to access; revoke or limit tokens that have broader site privileges.
  • Optionally disable or filter entry‑mutation GraphQL operations for users lacking admin rights, and monitor mutation activity for anomalous siteId values to detect exploitation attempts.

Generated by OpenCVE AI on September 3, 2026 at 09:48 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Wed, 02 Sep 2026 21:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'total'}, 'version': '2.0.3'}


Wed, 02 Sep 2026 10:45:00 +0000

Type Values Removed Values Added
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.
Title GQL entry mutation `siteId` bypasses schema site scope, enabling cross-site content read/write/delete
First Time appeared Craftcms
Craftcms cms
Weaknesses CWE-639
CPEs cpe:2.3:a:craftcms:cms:*:*:*:*:*:*:*:*
Vendors & Products Craftcms
Craftcms cms
References
Metrics cvssV4_0

{'score': 8.7, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N'}


cve-icon MITRE

Status: PUBLISHED

Assigner: Hackrate

Published:

Updated: 2026-09-02T17:53:23.468Z

Reserved: 2026-08-25T16:39:03.171Z

Link: CVE-2026-79990

cve-icon Vulnrichment

Updated: 2026-09-02T17:53:19.869Z

cve-icon NVD

Status : Deferred

Published: 2026-09-02T15:17:42.473

Modified: 2026-09-03T17:45:20.840

Link: CVE-2026-79990

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-09-03T10:15:04Z

Weaknesses
  • CWE-639

    Authorization Bypass Through User-Controlled Key