CVE-2026-108261

TinaCMS admin preview iframe loads an attacker-controlled origin from the URL fragment

State
Published
Severity
9.3 Critical
Published
Oct 9, 2026
Updated
Oct 13, 2026
Reserved
Oct 9, 2026

Read the record on cve.org

Description

Tina is a headless content management system. Prior to tinacms 3.14.0 and @tinacms/app 2.5.14, the /~/* admin preview route in packages/tinacms/src/admin/index.tsx can turn an attacker-controlled hash-router splat into an off-origin iframe URL through packages/@tinacms/app/src/preview.tsx, while packages/@tinacms/app/src/lib/preview-origin.ts derives expectedOrigin from that same URL for the GraphQL message channel in packages/@tinacms/app/src/lib/graphql-reducer.ts. An unauthenticated attacker can send a crafted link to a signed-in editor, cause the admin to frame an attacker origin, and have that frame treated as the trusted preview. The attacker-controlled frame can submit GraphQL reads or mutations that the admin executes with the editor credentials, exposing or modifying protected content. This issue is fixed in tinacms 3.14.0 and @tinacms/app 2.5.14.

Scores

CVSSScoreVectorSource
3.19.3 CriticalCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:NGitHub_M

Weaknesses

  • CWE-346 Origin Validation Error
  • CWE-441 Unintended Proxy or Intermediary ('Confused Deputy')
  • CWE-601 URL Redirection to Untrusted Site ('Open Redirect')

Affected Products

ProductVersions
tinacmstinacms
  • < 3.14.0Affected
app@tinacms
  • < 2.5.14Affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.