In short
- CVE-2026-25497 is a HIGH (CVSS 8.8) vulnerability affecting craftcms/cms, craft cms (craftcms).
- Chance of exploitation in the next 30 days (EPSS): 0.48%, higher than 41.4% of all vulnerabilities.
- Fix: update to 4.17.0-beta.1, 5.9.0-beta.1, 4.17.0, 5.9.0 or later.
| Package | Affected versions | Patched versions |
|---|
| craftcms/cms Packagist | ≥ 4.0.0-RC1, < 4.17.0-beta.1≥ 5.0.0-RC1, < 5.9.0-beta.1
| 4.17.0-beta.15.9.0-beta.1
|
| craft cms | = 4.0.0= 5.0.0> 4.0.0, < 4.17.0> 5.0.0, < 5.9.0
| 4.17.05.9.0
|
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
NVD description
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 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. 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. This vulnerability is fixed in 4.17.0-beta.1 and 5.9.0-beta.1.
More vulnerabilities in craftcms/cms
See all →Running one of these products? Scan your site to see whether it exposes a vulnerable version.
Scan my site free