Craft CMS: GraphQL Asset Mutation Privilege Escalation
There is a Privilege Escalation vulnerability in Craft CMS’s GraphQL API that allows an authenticated user with write access to one asset volume to escalate their privileges and modify/transfer assets belonging to any other volume, including restricted or private volumes to which they should not have access. ## Summary: Type: Privilege Escalation (CWE-269) Affected: Craft CMS 5.x (likely affects 4.x and 3.x as well) Location: `src/gql/resolvers/mutations/Asset.php lines 57-107` ## Root Cause: The saveAsset GraphQL mutation validates authorization against the schema-resolved volume but fetches the target asset by ID without verifying that the asset belongs to the authorized volume. This allows unauthorized cross-volume asset modification and transfer. ## Impact: - Transfer confidential assets from private volumes to public volumes (data exfiltration) - Modify asset metadata in restricted volumes - Bypass multi-tenant isolation in shared hosting environments
describes (1)
Related CVEs.
| ID | severity | exploitable | ||
|---|---|---|---|---|
| CVE-2026-25497US | high8.8 | — | ||
Craft is a platform for creating digital experiences. In Craft versions from 4.0.0-RC1 to before 4.17.0-beta.1 and 5.9.0-beta.1, there is a Privilege Escalation vulnerability in Cr… | ||||
references
External citations — patches, advisories, analysis.
- https://github.com/craftcms/cmsPACKAGE
- https://github.com/craftcms/cms/commit/ac7edf868c1a81fd9c4dc49d3b3edf1cce113409WEB
- https://github.com/craftcms/cms/releases/tag/4.17.0-beta.1WEB
- https://github.com/craftcms/cms/releases/tag/5.8.22WEB
- https://github.com/craftcms/cms/releases/tag/5.9.0-beta.1WEB
- https://github.com/craftcms/cms/security/advisories/GHSA-fxp3-g6gw-4r4vWEB
- https://nvd.nist.gov/vuln/detail/CVE-2026-25497ADVISORY
Advisories like this name the exposed products attackers go after on your perimeter. See what is exposed on your perimeter with a free passive scan.
Free scan