GHSA-3pvf-vxrv-hh9c
Craft CMS: Low-privilege users could read private asset contents when editing an asset (IDOR)
Packages
| Ecosystem | Package | Affected | Fixed in |
|---|---|---|---|
| Packagist | craftcms/cms | >= 4.0.0-RC1, < 4.17.8 | 4.17.8 |
| Packagist | craftcms/cms | >= 5.0.0-RC1, < 5.9.14 | 5.9.14 |
Details
As written in the advisory (Markdown source, shown as plain text).
### Summary
A low-privileged authenticated user can read private asset content by calling `assets/edit-image` with an arbitrary `assetId` that they are not authorized to view.
The endpoint returns image bytes (or a preview redirect) without enforcing a per-asset view authorization check, leading to potential unauthorized disclosure of private files.
### Details
Root cause:
- A user-controlled object reference (`assetId`) is used to load and return sensitive content.
- The action does not verify whether the current user is authorized to view that asset.
- This creates an authenticated IDOR / authorization bypass.
### Impact
- Craft installations where private/non-public assets exist and low-privileged users can authenticate.
## Resources
https://github.com/craftcms/cms/commit/7290d91639e
References
External links from the advisory. They lead to third-party sites.
- https://github.com/craftcms/cms/security/advisories/GHSA-3pvf-vxrv-hh9c
- https://nvd.nist.gov/vuln/detail/CVE-2026-33158
- https://github.com/craftcms/cms/commit/7290d91639e5e3a4f7e221dfbef95c9b77331860
- https://github.com/craftcms/cms
- https://github.com/craftcms/cms/releases/tag/4.17.8
- https://github.com/craftcms/cms/releases/tag/5.9.14