# CVE-2026-123491: Craft CMS SQL injection in GraphQL eager-loading

Source: https://junglewise.ai/threats/cve-2026-123491-craft-cms-4-0-0-before-4-18-9-and-5-0-0-before-5-11-2-contains  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-11-06. Updated: 2026-11-06  
License: CC BY 4.0 with a link back

CVE-2026-123491 · Severity: high · CVSS 8.2 · Published 2026-11-06

Craft CMS, a web content management system, is vulnerable to unauthenticated SQL injection through its GraphQL interface when eager-loading related data. An attacker can craft a malicious GraphQL request to inject SQL commands that read arbitrary database content, including user passwords, email addresses, and session tokens. This vulnerability requires only that the GraphQL API is enabled with read access to at least one content section or asset volume, which is a common default configuration.

Technologies: [Craft CMS](https://junglewise.ai/threats/technologies/craft-cms-1). Vendors: [Craft](https://junglewise.ai/threats/vendors/craft).

## Quick answers

**Is CVE-2026-123491 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2026-123491 being exploited in the wild.

**How severe is CVE-2026-123491?** High severity, with a CVSS score of 8.2, published 6 November 2026.

**Which products and versions are affected?** Craft CMS 4.0.0 before 4.18.9, 5.0.0 before 5.11.2.

**Is there a fix for CVE-2026-123491?** Yes: fixed in Craft CMS 4.18.9, 5.11.2. Until then: Disable the public GraphQL schema or restrict it to exclude sections and asset volumes that have associated user metadata (author, uploader). Alternatively, grant user-group read access to the schema so that author and uploader fields are published as real fields with fixed argument definitions.</anigation>
<parameter name="timeline">[{"kind": "disclosed", "at": "2026-10-22"}, {"kind": "advisory", "at": "2026-11-06"}] Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**How is CVE-2026-123491 attacked?** It is attacked over the network.

**Am I affected by CVE-2026-123491?** Check whether you run Craft CMS at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## How to fix

- Fixed in Craft CMS 4.18.9, 5.11.2

Disable the public GraphQL schema or restrict it to exclude sections and asset volumes that have associated user metadata (author, uploader). Alternatively, grant user-group read access to the schema so that author and uploader fields are published as real fields with fixed argument definitions.</anigation>
<parameter name="timeline">[{"kind": "disclosed", "at": "2026-10-22"}, {"kind": "advisory", "at": "2026-11-06"}]

## Technical details

The vulnerability exists in GraphQL eager-load handling where arguments on eager-loadable nodes that are not in the public schema are copied into EagerLoadPlan criteria without proper cleansing. Unauthenticated attackers can inject parenthesized SQL expressions in a "select" parameter that are passed verbatim to the database query builder. The attack requires the public GraphQL schema to be enabled with read access to at least one section or asset volume and at least one entry with an author or asset with an uploader, but does not require authentication or user interaction.

## Affected products

- Craft CMS 4.0.0 before 4.18.9, 5.0.0 before 5.11.2

## References

- [https://github.com/craftcms/cms/security/advisories/GHSA-mjj9-pjh4-r48g](https://github.com/craftcms/cms/security/advisories/GHSA-mjj9-pjh4-r48g)
- [https://www.vulncheck.com/advisories/craft-cms-4.0.0-before-4.18.9-unauthenticated-sql-injection-via-graphql-eager-load-select](https://www.vulncheck.com/advisories/craft-cms-4.0.0-before-4.18.9-unauthenticated-sql-injection-via-graphql-eager-load-select)

## Related threats

- [Craft CMS SQL injection in craft.search](https://junglewise.ai/threats/cve-2026-115934-an-unauthenticated-sql-injection-can-occur-on-the-front-end-of)
- [Craft CMS authorization bypass in volume browser](https://junglewise.ai/threats/cve-2026-124431-craft-cms-from-5-10-0-before-5-11-2-contains-an-authorization)
- [Craft CMS privilege escalation in public registration](https://junglewise.ai/threats/cve-2026-124429-craft-cms-from-5-0-0-before-5-11-2-contains-a-privilege)
- [Craft CMS path traversal in app/icon-svg endpoint](https://junglewise.ai/threats/cve-2026-124428-craft-cms-from-5-7-0-before-5-11-2-contains-an-arbitrary-file)
- [Craft CMS authorization bypass in GraphQL schema scope](https://junglewise.ai/threats/cve-2026-124427-craft-cms-from-5-0-0-before-5-11-2-contains-an-authorization)
