MediumGHSA-3pvf-vxrv-hh9cCVE-2026-33158
Craft CMS: Low-privilege users could read private asset contents when editing an asset (IDOR)
Published 24 Mar 2026 · Updated 25 Mar 2026
Affected packages
craftcms/cmsComposer
- Affected
- >=4.0.0-RC1 <4.17.8
- Fixed in
- 4.17.8
Update to the fixed version for your release line, for example:
composer require craftcms/cms:^4.17.8craftcms/cmsComposer
- Affected
- >=5.0.0-RC1 <5.9.14
- Fixed in
- 5.9.14
Update to the fixed version for your release line, for example:
composer require craftcms/cms:^5.9.14Details
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
Is GHSA-3pvf-vxrv-hh9c in any of your client repos?
Checking one package by hand is fine. Checking it across forty client projects is not. NPMscan reads the lockfiles in every GitHub repo you pick, finds each project with an affected craftcms/cms, and gives you the command that fixes it.
References
- Linkgithub.com/craftcms/cms/security/advisories/GHSA-3pvf-vxrv-hh9c
- Advisorynvd.nist.gov/vuln/detail/CVE-2026-33158
- Linkgithub.com/craftcms/cms/commit/7290d91639e5e3a4f7e221dfbef95c9b77331860
- Packagegithub.com/craftcms/cms
- Linkgithub.com/craftcms/cms/releases/tag/4.17.8
- Linkgithub.com/craftcms/cms/releases/tag/5.9.14
Advisory data from OSV.dev (opens OSV.dev in a new tab), refreshed daily.