CVE-2026-79990CWE-639

CVE-2026-79990

published September 2, 2026

CVSS
8.7
EPSS
0%
Percentile
38.0
In the wild
Unconfirmed
What it is

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.

The record
Technical detail
CVSS
8.7 · NONE
CVSS v4.0
8.7 · CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
EPSS
0.00449 · 38.0th percentile
Weakness
CWE-639 · Authorization Bypass Through User-Controlled Key
Published
2026-09-02T19:17Z
References (4)
EPSS history
Timeline
  • 04 SEP 03:44Z
    EPSS moved — → 0%
    epss
  • 02 SEP 14:19Z
    GQL entry mutation `siteId` bypasses schema site scope, enabling cross-site content read/write/delete
    cvelistv5