GitHub Advisoryadvisory · Packagist

GHSA-vg3j-hpm9-8v5v Craft CMS has a potential information disclosure vulnerability in preview tokens

LOW Published 2026-03-10 Modified 2026-09-02 Official page ↗
Aliases
CVE-2026-29113
Ecosystem
Packagist
Packages
craftcms/cms
Severity
Low
CVSS vector
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Weaknesses
CWE-287, CWE-352
Reviewed
2026-03-10

Affected packages

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

Description

Summary Craft CMS has a CSRF issue in the preview token endpoint at `/actions/preview/create-token`. The endpoint accepts an attacker-supplied `previewToken`. Because the action does not require POST and does not enforce a CSRF token, an attacker can force a logged-in victim editor to mint a preview token chosen by the attacker. That token can then be used by the attacker (without authentication) to access previewed/unpublished content tied to the victim’s authorized preview scope. --- Preconditions • Victim is logged in to Craft control panel. • Victim has active preview authorization in session for target content (e.g., opened/edited an entry). • The attacker must know the target’s `canonicalId` and public URL path of that entry. 1) Attacker prepares a fixed token Use any 32-character value, for example: ```text aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ``` 2) CSRF victim into minting that token Send the victim a link (or top-level redirect) such as: ```text https://TARGET/actions/preview/create-token?elementType=craft%5Celements%5CEntry&canonicalId=123&siteId=1&previewToken=aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&redirect=https%3A%2F%2FTARGET%2F ``` If the victim is logged in and authorized for `previewElement:123`, Craft creates that exact token. 3) Attacker accesses preview content unauthenticated ```bash curl -i 'https://TARGET/news/known-entry-slug?token=aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' ``` Expected vulnerable behavior: • Response renders preview/unpublished state (draft/provisional context), not just normal public content. --- Impact • CSRF-based minting of attacker-known preview tokens. • Unauthorized access to draft/provisional/revision content via token replay. • Stealthy one-click exploitation against logged-in editors/admins. • No dependency on forwarded-host poisoning. ---

Related

Alias · CVE (1)

  • CVE-2026-29113 Craft is a content management system (CMS). vulnerability

Weakness · CWE (2)

  • CWE-287 Improper Authentication weakness
  • CWE-352 Cross-Site Request Forgery weakness

References