GHSA-44px-qjjc-xrhq
Craft CMS: Authorized asset "preview file" requests bypass allows users without asset access to retrieve private preview metadata
Packages
| Ecosystem | Package | Affected | Fixed in |
|---|---|---|---|
| Packagist | craftcms/cms | >= 5.0.0-RC1, < 5.9.14 | 5.9.14 |
| Packagist | craftcms/cms | >= 4.0.0-RC1, < 4.17.8 | 4.17.8 |
Details
As written in the advisory (Markdown source, shown as plain text).
### Summary
An authenticated low-privileged user can call `assets/preview-file` for an asset they are not authorized to view and still receive preview response data (`previewHtml`) for that private asset.
The returned preview HTML included a private preview image route containing the target private `assetId`, even though `canView` was `false` for the attacker account.
### Details
1. `assets/preview-file` accepts a maliciously controlled `assetId` and renders preview output.
2. The action does not enforce per-asset view authorization prior to returning preview content.
3. As a result, an authenticated user without asset-view permission can still obtain private preview output.
This affects Craft installations with authenticated users of mixed privilege levels with private assets.
### Resources
- d30df3112220db1ffd6726a3ed11857014c7fb27
- b1cddf72c98a
References
External links from the advisory. They lead to third-party sites.
- https://github.com/craftcms/cms/security/advisories/GHSA-44px-qjjc-xrhq
- https://nvd.nist.gov/vuln/detail/CVE-2026-56385
- https://github.com/craftcms/cms/commit/b1cddf72c98a66801beb04ea4b07e72182b7b7db
- https://github.com/craftcms/cms/commit/d30df3112220db1ffd6726a3ed11857014c7fb27
- https://github.com/craftcms/cms
- https://www.vulncheck.com/advisories/craft-cms-authorization-bypass-in-assets-preview-file-endpoint