craftcms/cms · Security
Craft CMS may expose private assets through anonymous "generate transform" calls via transform URL
- GHSA ID
- GHSA-5pgf-h923-m958
- CVE ID
- CVE-2026-33160
- Severity
- low
- Published
- Updated
- CVSS v4
- 2.7 · CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N/E:U
Description
Summary
An unauthenticated user can call assets/generate-transform with a private assetId, receive a valid transform URL, and fetch transformed image bytes.
The endpoint is anonymous and does not enforce per-asset authorization before returning the transform URL.
Details
Root cause:
- Anonymous endpoint accepts user-controlled asset reference.
- It creates and returns a transform URL for that asset without checking access rights.
- If the transform output is reachable, guest users can read content derived from private assets.
Who is impacted:
- Installations where private source assets can be transformed and transform URLs are reachable.
Security consequence:
- Anonymous users can obtain content derived from private assets without authentication.
Resources
CWEs
- CWE-639 · Authorization Bypass Through User-Controlled Key
- CWE-862 · Missing Authorization
References
- https://github.com/craftcms/cms/security/advisories/GHSA-5pgf-h923-m958 ↗
- https://github.com/craftcms/cms/commit/7290d91639e5e3a4f7e221dfbef95c9b77331860 ↗
- https://github.com/craftcms/cms/releases/tag/4.17.8 ↗
- https://github.com/craftcms/cms/releases/tag/5.9.14 ↗
- https://nvd.nist.gov/vuln/detail/CVE-2026-33160 ↗
- https://github.com/advisories/GHSA-5pgf-h923-m958 ↗