GitHub Advisoryadvisory · Packagist

GHSA-fxp3-g6gw-4r4v Craft CMS: GraphQL Asset Mutation Privilege Escalation

HIGH Published 2026-02-09 Modified 2026-02-09 Official page ↗
Aliases
CVE-2026-25497
Ecosystem
Packagist
Packages
craftcms/cms
Severity
High
CVSS vector
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N
Weaknesses
CWE-269, CWE-639
Reviewed
2026-02-09

Affected packages

• Packagist craftcms/cms: >= 5.0.0-RC1, < 5.9.0-beta.1 → fixed in 5.9.0-beta.1 • Packagist craftcms/cms: >= 4.0.0-RC1, < 4.17.0-beta.1 → fixed in 4.17.0-beta.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

Related

Alias · CVE (1)

  • CVE-2026-25497 Craft is a platform for creating digital experiences. vulnerability

Weakness · CWE (2)

  • CWE-269 Improper Privilege Management weakness
  • CWE-639 Authorization Bypass Through User-Controlled Key weakness

References