CVE-2026-56385
Received Received - Intake
Authorization Bypass in Craft CMS Preview File Endpoint

Publication date: 2026-06-21

Last updated on: 2026-06-21

Assigner: VulnCheck

Description
Craft CMS versions >= 5.0.0-RC1, <= 5.9.13 and >= 4.0.0-RC1, <= 4.17.7 contain an authorization bypass in the assets/preview-file endpoint. The action does not enforce per-asset view authorization before returning preview content, allowing an authenticated low-privileged user to supply a controlled assetId for an asset they are not permitted to view and still receive preview response data (previewHtml), including a private preview image route containing the target private assetId. Fixed in 5.9.14 and 4.17.8.
CVSS Scores
EPSS Scores
Probability:
Percentile:
Meta Information
Published
2026-06-21
Last Modified
2026-06-21
Generated
2026-06-21
AI Q&A
2026-06-21
EPSS Evaluated
N/A
NVD
EUVD
Affected Vendors & Products
Showing 4 associated CPEs
Vendor Product Version / Range
craftcms craft_cms From 4.0.0-RC1 (inc) to 4.17.7 (inc)
craftcms craft_cms From 5.0.0-RC1 (inc) to 5.9.13 (inc)
craftcms craft_cms 4.17.8
craftcms craft_cms 5.9.14
Helpful Resources
Exploitability
CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-639 The system's authorization functionality does not prevent one user from gaining access to another user's data or record by modifying the key value identifying the data.
Attack-Flow Graph
AI Quick Actions
Instant insights powered by AI
Compliance Impact

This vulnerability allows an authenticated low-privileged user to bypass authorization controls and access preview content of assets they are not permitted to view, including private preview image routes containing sensitive asset IDs.

Such unauthorized exposure of sensitive information could lead to non-compliance with data protection regulations like GDPR and HIPAA, which require strict access controls and protection of personal or sensitive data.

By allowing unauthorized access to private asset previews, the vulnerability increases the risk of data leakage, potentially violating confidentiality and privacy requirements mandated by these standards.

Executive Summary

This vulnerability exists in Craft CMS versions 4.0.0-RC1 through 4.17.7 and 5.0.0-RC1 through 5.9.13 in the assets/preview-file endpoint.

The issue is an authorization bypass where the system does not enforce per-asset view authorization before returning preview content.

As a result, an authenticated low-privileged user can supply a controlled assetId for an asset they are not permitted to view and still receive preview response data, including a private preview image route containing the target private assetId.

This means unauthorized users can access sensitive preview metadata of restricted assets.

Impact Analysis

This vulnerability allows an authenticated low-privileged user to bypass access controls and view private preview data of assets they should not have permission to see.

The exposure of sensitive preview metadata, including private image routes and asset IDs, can lead to unauthorized disclosure of confidential or proprietary information.

Such unauthorized access can undermine the confidentiality of your digital assets and potentially lead to further exploitation or data leaks.

Mitigation Strategies

To mitigate this vulnerability, you should upgrade Craft CMS to a patched version where the issue is fixed.

  • Upgrade to Craft CMS version 5.9.14 or later if you are using the 5.x series.
  • Upgrade to Craft CMS version 4.17.8 or later if you are using the 4.x series.

These updates enforce proper authorization checks on the assets/preview-file endpoint, preventing unauthorized preview content access.

Detection Guidance

This vulnerability can be detected by testing the assets/preview-file endpoint in Craft CMS for authorization bypass. Specifically, an authenticated low-privileged user can attempt to supply a controlled assetId parameter for an asset they should not have access to and observe if preview content is returned.

A practical approach is to authenticate as a low-privileged user and send HTTP requests to the vulnerable endpoint with different assetId values, including those of assets that the user should not be authorized to view. If previewHtml or private preview image routes containing unauthorized asset IDs are returned, the system is vulnerable.

Example command using curl to test the endpoint (replace placeholders accordingly):

  • curl -i -X POST 'https://your-craftcms-site.com/actions/assets/preview-file' -H 'Content-Type: application/json' -H 'Cookie: your_auth_cookie' -d '{"assetId": "<target_asset_id>"}'

Check the response for previewHtml content or private preview image routes referencing the assetId. Presence of such data indicates the vulnerability.

Chat Assistant
Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-56385. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70
EPSS Chart