CVE-2026-79990

GQL entry mutation `siteId` bypasses schema site scope, enabling cross-site content read/write/delete

State
Published
Severity
8.7 High
Published
Sep 2, 2026
Updated
Sep 2, 2026
Reserved
Aug 25, 2026

Read the record on cve.org

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.

Scores

CVSSScoreVectorSource
4.08.7 HighCVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:NHackrate

Weaknesses

  • CWE-639 Authorization bypass through User-Controlled key

Affected Products

ProductVersions
cmscraftcms
  • 5.0.0-RC1 to before 5.10.11Affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.