Craft CMS' anonymous "assets/image-editor" calls return private asset editor metadata to unauthorized users
Published 24 Mar 2026 · Updated 25 Mar 2026
Affected packages
- Affected
- >=5.0.0-RC1 <5.9.14
- Fixed in
- 5.9.14
composer require craftcms/cms:^5.9.14- Affected
- >=4.0.0-RC1 <4.17.8
- Fixed in
- 4.17.8
composer require craftcms/cms:^4.17.8Details
Summary
A low-privileged authenticated user can call assets/image-editor with the ID of a private asset they cannot view and still receive editor response data, including focalPoint.
The endpoint returns private editing metadata without per-asset authorization validation.
Root-cause analysis:
1. actionImageEditor() accepts assetId from the request body.
2. The asset is loaded, and the focal-point data is read.
3. Response returns html and focalPoint.
4. No explicit authorization check is applied before the response.
Impact
Affected deployments:
- Craft sites where asset edit metadata should remain restricted to authorized users.
Security consequence:
- Unauthorized users can extract private editor metadata and related editor context for inaccessible assets.
Is GHSA-vgjg-248p-rfm2 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-vgjg-248p-rfm2
- Advisorynvd.nist.gov/vuln/detail/CVE-2026-33161
- Linkgithub.com/craftcms/cms/commit/d30df3112220db1ffd6726a3ed11857014c7fb27
- 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.