Authorization Bypass in Craft CMS GraphQL Mutations
Craft CMS versions 5.0.0 through 5.10.9 contain an authorization bypass vulnerability allowing attackers with site-scoped tokens to manipulate content across unauthorized sites via GraphQL mutations.
CVE search metadata
CVE search record: CVE-2026-112776. Severity: critical. CVSS: 9.8. KEV: no. Product: Craft CMS (5.0.0 <= 5.10.9), Craft CMS (4.x < 4.18.8, 5.x < 5.11.0), Craft CMS (< 4.18.8, < 5.11.0). Brief: Authorization Bypass in Craft CMS GraphQL Mutations. Brief link: https://feed.craftedsignal.io/briefs/2026-10-craft-cms-auth-bypass/
What's new
Craft CMS versions 5.0.0 through 5.10.9 contain a critical authorization bypass vulnerability (CVE-2026-112776) stemming from an improperly enforced requireAllowedSite() check within the GraphQL API. The vulnerability allows an authenticated attacker, holding a legitimate GraphQL token scoped to a single site, to perform unauthorized mutations on content belonging to other sites within the same multi-site Craft CMS instance.
By manipulating the siteId parameter in GraphQL requests, an attacker can create, modify, or delete entries, categories, tags, and assets that they should not have access to. Because this bypasses site-level access controls, it permits cross-site data corruption and potential unauthorized information exposure or service disruption. This vulnerability impacts installations utilizing multi-site configurations where strict tenant isolation is required. Organizations should update to version 5.11.0 or later to ensure that site-scoped tokens are correctly validated before mutation operations.
Attack Chain
- The attacker obtains a valid, site-scoped GraphQL API token for a specific site in a multi-site Craft CMS instance.
- The attacker identifies the
siteIdof a target site that is not included in the scope of their current token. - The attacker crafts a GraphQL mutation request (e.g.,
createEntry,deleteEntry, orsaveAsset) targeting the CMS GraphQL endpoint. - The attacker injects the
siteIdof the target site into the mutation parameters. - The server processes the GraphQL request without enforcing the
requireAllowedSite()check for the providedsiteId. - The CMS executes the mutation using the provided
siteId, resulting in unauthorized data modification or deletion on the target site.
Impact
Successful exploitation allows for arbitrary unauthorized mutations across sites within a single Craft CMS installation. This can result in the deletion of critical business content, unauthorized injection of data, and the compromise of categories, tags, and assets shared across sites. The vulnerability is assigned a CVSS score of 9.8, reflecting the significant risk of unauthorized modification and potential service disruption for enterprise environments utilizing multi-site CMS architectures.
Recommendation
- Patch the instance by upgrading to Craft CMS version 5.11.0 or later immediately to resolve CVE-2026-112776.
- Audit application logs for
POSTrequests to the GraphQL endpoint that contain unusual or unexpectedsiteIdparameters associated with site-scoped tokens. - Implement egress monitoring for the web server to detect unusual mutation patterns if patching is delayed.
- Review GraphQL token scope assignments to ensure the principle of least privilege is applied to all API keys and user tokens.
Immediate actions
Upgrade all Craft CMS instances to 5.11.0 or later to patch CVE-2026-112776.
Mitigations
Upgrade to Craft CMS 5.11.0 or higher.
CVE-2026-112776