GitHub Advisoryadvisory · Packagist

GHSA-44px-qjjc-xrhq Craft CMS: Authorized asset "preview file" requests bypass allows users without asset access to retrieve private preview metadata

LOW Published 2026-03-26 Modified 2026-08-06 Official page ↗
Aliases
CVE-2026-56385
Ecosystem
Packagist
Packages
craftcms/cms
Severity
Low
CVSS vector
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N/E:U
Weaknesses
CWE-200, CWE-639, CWE-862
Reviewed
2026-03-26

Affected packages

• Packagist craftcms/cms: >= 5.0.0-RC1, < 5.9.14 → fixed in 5.9.14 • Packagist craftcms/cms: >= 4.0.0-RC1, < 4.17.8 → fixed in 4.17.8

Description

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

Related

Alias · CVE (1)

  • CVE-2026-56385 Craft CMS versions >= 5.0.0-RC1, <= 5.9.13 and >= 4.0.0-RC1, <= 4.17.7 contain an authorization bypass in the assets/preview-file endpoint. vulnerability

Weakness · CWE (3)

  • CWE-200 Exposure of Sensitive Information to an Unauthorized Actor weakness
  • CWE-639 Authorization Bypass Through User-Controlled Key weakness
  • CWE-862 Missing Authorization weakness

References