Vulnerability 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.
Related Weaknesses (CWE)
References
- https://github.com/craftcms/cms
- https://github.com/craftcms/cms/releases/tag/5.10.11
- https://github.com/craftcms/cms/security/advisories/GHSA-3wcr-p33w-528f
- https://www.hckrt.com/hacktivity/HCKRT-XEQKMX
FAQ
What is CVE-2026-79990?
CVE-2026-79990 is a documented vulnerability. Craft CMS GraphQL entry mutation resolvers (saveEntry, deleteEntry) read siteIddirectly from$argumentswithout passing throughArgumentManagerprepareArguments(), which is the function that enforces site...
How severe is CVE-2026-79990?
CVSS scoring is not yet available for CVE-2026-79990. Check NVD for updates.
Is there a patch for CVE-2026-79990?
Check the references section above for vendor advisories and patch information. Review vendor security bulletins for remediation guidance.