{"id":"CVE-2026-79990","aliases":["CVE-2026-84796","GHSA-3wcr-p33w-528f"],"url":"https://o3.security/vulnerability/CVE-2026-79990","summary":"GQL entry mutation `siteId` bypasses schema site scope, enabling cross-site content read/write/delete","details":"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-02T14:19:54.892Z","modified":"2026-09-04T03:47:30.730919576Z","cvss":null,"epss":null,"cisaKev":null,"exploitsKnown":null,"affectedPackages":[],"fix":null,"references":[{"type":"WEB","url":"https://packagist.org"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/79xxx/CVE-2026-79990.json"},{"type":"ADVISORY","url":"https://github.com/craftcms/cms/releases/tag/5.10.11"},{"type":"ADVISORY","url":"https://github.com/craftcms/cms/security/advisories/GHSA-3wcr-p33w-528f"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-79990"},{"type":"ADVISORY","url":"https://www.hckrt.com/hacktivity/HCKRT-XEQKMX"},{"type":"PACKAGE","url":"https://github.com/craftcms/cms"}],"provenance":{"sources":["OSV.dev","FIRST.org (EPSS)"],"lastVerified":"2026-09-04T03:47:30.730919576Z"}}