Skip to content
OpenAdvisories
High · 8.7 CVE-2026-79990 EUVD-2026-70048GHSA-fvhj-675v-869c

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

Published Sep 2, 2026 · Updated Sep 2, 2026 · Assigned by Hackrate

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.

Affected products

VendorProductAffectedFixed
craftcms cms 5.0.0-RC1 – < 5.10.11 5.10.11

References