External risk intelligence

Craft CMS GraphQL Authorization Bypass Vulnerability

CVE advisorySeverity: CRITICAL (CVSS 9.3)

CVE-2026-112776

Craft CMS is a web content management system commonly deployed as a public-facing web application. Since the vulnerability involves the GraphQL API endpoint, which is a standard interface for web applications and often exposed to process content, it is frequently reachable from the internet in typical production deployments.

Halo Surface Signal: 4 out of 5 — likely to be public-facing.

External exposure likelihood

Horizon Alert

Summary of the vulnerability and why it matters

A vulnerability in Craft CMS allows unauthorized access to modify content across different websites hosted on the same platform, even if the attacker only has credentials for a single site. This issue arises from an insufficient check on GraphQL tokens, potentially enabling malicious actors to create or delete content, categories, tags, and assets across multiple sites. The main concern is confirming relevance and exposure.

  • GraphQL tokens can wrongly control other sites.
  • Leaders should remember unauthorized content changes.
  • Confirm if your sites are affected and exposed.

Attack Path

How an attacker could exploit the issue

An attacker could leverage a site-scoped GraphQL token to bypass authorization controls and manipulate content across different sites within Craft CMS. This bypass occurs because the `requireAllowedSite()` function is not consistently enforced, allowing a token intended for one site to be used for actions on another. The vulnerability can lead to unauthorized creation and deletion of content, including entries, categories, tags, and assets.

  • Requires a site-scoped GraphQL token.
  • Triggered via GraphQL mutation with a specific site ID.
  • Risk: Cross-site content manipulation and deletion.

Live Threat

Current exploitation, exposure, and threat context

This vulnerability could allow an attacker with a GraphQL token from one site to modify or delete content, assets, and categories across other sites within the same Craft CMS installation. This is possible because the system does not properly enforce site scope restrictions for GraphQL tokens when performing mutations.

  • Shared content and assets.
  • Unauthorized mutation via GraphQL API.
  • Content integrity compromise.

Operational Fix

Recommended remediation, mitigation, and detection steps

This vulnerability affects Craft CMS installations. The first step for security and infrastructure teams is to identify all instances of Craft CMS, determine their internet reachability and business criticality, and then pinpoint the accountable owner for each instance. Planning remediation or mitigation should be prioritized based on this risk assessment.

  • Identify affected Craft CMS instances.
  • Verify public exposure and business criticality.
  • Plan risk-based remediation or mitigation.

Supplementary metadata

Validate whether this threat affects your internet-facing exposure.

Halo Threat Intelligence helps prioritize remediation with Halo Surface Signal and H/A/L/O context. Start exposure validation with a free external attack surface trial.

Frequently asked questions

What is Craft CMS?

Craft CMS is a popular content management system used to build and manage dynamic websites and digital experiences. It allows developers to model content flexibly and serves it through a robust interface, often utilizing GraphQL to handle data queries and mutations between the front end and the back-end database.

What does CWE-863 mean for CVE-2026-112776?

This CVE falls under CWE-863, which refers to incorrect authorization. In this specific case, the software fails to properly verify if a user has permission to perform an action on a specific site. Because of this oversight, a GraphQL token intended for one site can be incorrectly used to bypass security checks and manipulate data on another site within the same installation.

How is this GraphQL vulnerability triggered?

An attacker triggers this issue by sending a specially crafted GraphQL mutation request to the system. The request must include a specific site ID that the attacker does not have legitimate authorization to modify. The bug is triggered when the system fails to enforce site-level permission checks during these operations; standard, non-mutating data queries that do not attempt to change site content are not the target of this vulnerability.

Is my Craft CMS instance at risk?

If you are running a version of Craft CMS between 5.0.0 and 5.11.0, your installation is potentially vulnerable. According to Halo Surface Signal, because the GraphQL API is a core interface often exposed to the internet to handle content, these instances are typically reachable from the public web, increasing the likelihood that this vulnerability could be reached by an external actor.

What should I do first to address this?

Begin by conducting an inventory to identify all active Craft CMS installations within your environment. Once you have a list, determine which instances are internet-facing and verify their specific version numbers. Coordinate with the relevant site owners or administrators to prioritize these instances based on their business criticality while you plan for the necessary updates or security mitigations.

References