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: 7.1 High
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

A flaw in Craft CMS’s GraphQL mutation resolvers allows an authenticated user with a token scoped to one site to set the siteId field in mutation arguments. The resolver bypasses the normal site‑scoping checks used for queries, giving the attacker the ability to create, update or delete entries on sites other than the one authorized for the token. This leads to unintended alteration of database contents, potentially exposing, corrupting, or removing data for any site the attacker can target.

Affected Systems

Craft CMS before version 5.10.13 is affected. The advisory indicates that the issue was resolved in the 5.10.13 release, so any deployment running an earlier 5.10 series version remains vulnerable.

Risk and Exploitability

The CVSS score of 7.1 shows a high likelihood of significant impact. The vulnerability requires an authenticated token and does not rely on network exploits, but it can be leveraged by any user who has legitimate access within the CMS. Because the EPSS score is unavailable and the vulnerability is not listed in CISA KEV, the current external exploitation probability appears low; however, the presence of a SQL‑injection vector and the capacity to manipulate data across sites elevates the risk for compromised accounts. Prompt patching is recommended to eliminate the risk.

Generated by OpenCVE AI on September 3, 2026 at 10:11 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade Craft CMS to version 5.10.13 or later, which contains the fix for this mutation site‑scoping bypass.
  • Revoke or regenerate any GraphQL tokens that grant broader site permissions than required for the user’s role, limiting their scope to the intended site only.
  • Re‑validate custom code or third‑party modules that interact with GraphQL mutations to ensure they do not override the built‑in site‑scoping mechanism.

Generated by OpenCVE AI on September 3, 2026 at 10:11 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': 'partial'}, '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 Authenticated SQL Injection via nested eager-loading criteria
First Time appeared Craftcms
Craftcms cms
Weaknesses CWE-89
CPEs cpe:2.3:a:craftcms:cms:*:*:*:*:*:*:*:*
Vendors & Products Craftcms
Craftcms cms
References
Metrics cvssV4_0

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


cve-icon MITRE

Status: PUBLISHED

Assigner: Hackrate

Published:

Updated: 2026-09-02T17:55:14.034Z

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

Link: CVE-2026-79991

cve-icon Vulnrichment

Updated: 2026-09-02T17:55:10.359Z

cve-icon NVD

Status : Deferred

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

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

Link: CVE-2026-79991

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

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

Weaknesses
  • CWE-89

    Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection')