CVE-2026-25497: Craft has a GraphQL Asset Mutation Privilege Escalation

Published Feb 9, 2026
·
Updated

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.

Other sources

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

GitHub

Affected Software

11 affected componentsFixes available
craftcms/craft>=4.0.0-RC1<4.17.0-beta.1
composer/craftcms/cms>=4.0.0-RC1<4.17.0-beta.1
4.17.0-beta.1
composer/craftcms/cms>=5.0.0-RC1<5.9.0-beta.1
5.9.0-beta.1
CraftCMS Craft CMS>4.0.0<4.17.0
CraftCMS Craft CMS>5.0.0<5.9.0
CraftCMS Craft CMS=4.0.0
CraftCMS Craft CMS=4.0.0-rc1
CraftCMS Craft CMS=4.0.0-rc2
CraftCMS Craft CMS=4.0.0-rc3
CraftCMS Craft CMS=5.0.0
CraftCMS Craft CMS=5.0.0-rc1

Event History

Feb 9, 2026
CVE Published
via MITRE·07:50 PM
Data Sourced
via MITRE·07:50 PM
DescriptionWeakness
Data Sourced
via NVD·08:15 PM
DescriptionSeverityWeakness
Data Sourced
via NVD·08:15 PM
RemedyAffected Software
Advisory Published
via GitHub·08:36 PM
Data Sourced
via GitHub·08:36 PM
DescriptionWeaknessAffected Software
Aug 19, 58109
Event
via FIRST·11:11 AM
Free Weekly Intel

Don't miss critical vulnerabilities

Join thousands of security professionals who receive our weekly digest of trending CVEs, zero-days, and exploited vulnerabilities.

No spam. Unsubscribe anytime.

Frequently Asked Questions

1

What is the severity of CVE-2026-25497?

CVE-2026-25497 has a high severity level due to its potential for privilege escalation in Craft CMS.

2

Who is affected by CVE-2026-25497?

CVE-2026-25497 affects authenticated users of Craft versions from 4.0.0-RC1 to before 4.17.0-beta.1 and 5.9.0-beta.1.

3

How do I fix CVE-2026-25497?

To fix CVE-2026-25497, upgrade Craft CMS to the latest version that is not vulnerable, specifically 4.17.0-beta.1 or later.

4

What type of vulnerability is CVE-2026-25497?

CVE-2026-25497 is classified as a privilege escalation vulnerability within the GraphQL API of Craft CMS.

5

Can CVE-2026-25497 be exploited by unauthenticated users?

No, CVE-2026-25497 requires an authenticated user to exploit the vulnerability.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203