GHSA-fxp3-g6gw-4r4vHigh

Craft CMS: GraphQL Asset Mutation Privilege Escalation

Published
February 9, 2026
Last Modified
February 9, 2026

🔗 CVE IDs covered (1)

📋 Description

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

🎯 Affected products2

  • composer/craftcms/cms:>= 5.0.0-RC1, < 5.9.0-beta.1
  • composer/craftcms/cms:>= 4.0.0-RC1, < 4.17.0-beta.1

🔗 References (7)