VDB
KO
LOW

GHSA-44px-qjjc-xrhq

Craft CMS: Authorized asset "preview file" requests bypass allows users without asset access to retrieve private preview metadata

Quick fix

GHSA-44px-qjjc-xrhq — craftcms/cms: upgrade to the fixed version with the command below.

composer require craftcms/cms:^5.9.14

Details

### 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

Are you affected?

Enter the version of the package you're using.

Affected packages

Packagist / craftcms/cms
Introduced in: 5.0.0-RC1 Fixed in: 5.9.14
Fix composer require craftcms/cms:^5.9.14
Packagist / craftcms/cms
Introduced in: 4.0.0-RC1 Fixed in: 4.17.8
Fix composer require craftcms/cms:^4.17.8

References