Skip to content
Tuesday, October 13, 2026AboutContactRSS
Vulnerabilities

TinaCMS Patch Fixes Critical Auth Bypass in Admin Preview Route

A critical vulnerability in TinaCMS allows attackers to hijack editor sessions via crafted links, but a patch is now available for affected versions.

Updated with new details.
Illustration: A silver laptop sits open on a desk, its screen displaying a blank content editing interface with a prominent 'Preview' button.
AI-generated illustration: Threat Times

Key points

  • CVE-2026-108261 allows unauthenticated attackers to execute GraphQL operations as signed-in editors.
  • The flaw stems from insufficient validation of the admin preview route's hash router splat.
  • Patches are available in tinacms 3.14.0 and @tinacms/app 2.5.14.

TinaCMS has released updates to address a critical security vulnerability that allows unauthenticated attackers to hijack the sessions of authenticated editors. The flaw, tracked as CVE-2026-108261, enables an attacker to perform arbitrary read and write operations on a site’s content API by exploiting the admin preview interface.

At a glance

CVE
CVE-2026-108261
Product
tinacms
CVSS
9.3 Critical
Weakness
open redirect
Exploited
No known exploitation

The vulnerability carries a CVSS score of 9.3, classified as critical. According to the National Vulnerability Database and GitHub advisory GHSA-x34j-47hf-4xg7, the issue arises because the TinaCMS admin builds its preview iframe source from the `/~/*` hash-router splat without verifying that the value remains same-origin.

If an attacker sends a crafted link to a logged-in editor, the admin can be tricked into framing an external attacker-controlled site. Because the system derives its trust anchor for the GraphQL message channel from the same unvalidated URL, the attacker’s frame is treated as a trusted preview. This allows the external frame to submit GraphQL reads or mutations that the admin executes using the signed-in editor’s credentials.

Technical Details

The root cause lies in how the application handles the router splat. The leading slash intended to force a relative path is interpreted differently by react-router-dom version 6.30.3 when processing specific inputs, such as a fragment with a doubled slash. This results in a protocol-relative URL that points to an external domain. The iframe lacks a sandbox attribute, and the admin bundle does not ship with a Content Security Policy, further facilitating the attack.

The trust mechanism relies on `expectedOrigin`, which is computed from the same unvalidated string used for the iframe source. Consequently, both the origin check and the source validation pass for the attacker’s frame. The attacker’s origin matches the expected origin, and the source is the frame the admin itself loaded. This bypass allows the attacker to post messages back to their own origin, effectively gaining arbitrary access to the site’s content API as the editor.

Affected Versions

The vulnerability affects versions of tinacms prior to 3.14.0 and @tinacms/app prior to 2.5.14. Specifically, npm packages tinacms versions up to and including 3.13.0 and @tinacms/app versions up to and including 2.5.13 are vulnerable. The issues are fixed in tinacms 3.14.0 and @tinacms/app 2.5.14.

What should you do?

Users should update their TinaCMS installations to the latest patched versions immediately. Security teams should monitor for unusual GraphQL activity originating from editor sessions. Administrators should review access logs for any unexpected content modifications or data exfiltration. Organizations should ensure that their deployment processes prioritize applying security patches to content management systems.

What to do and how to stay safe: TinaCMS

  • Update tinacms to version 3.14.0 or later.
  • Update @tinacms/app to version 2.5.14 or later.
  • Audit recent editor session logs for anomalous GraphQL queries.
  • Restrict access to the admin preview interface where possible.

Step-by-step guide: Risk Based Vulnerability Management: Prioritize Fixes by Actual Threat

General security guidance from the Threat Times newsroom. It is not confirmed advice from the organisations named in this story.

Frequently asked questions

What is CVE-2026-108261?

It is a critical vulnerability in TinaCMS that allows unauthenticated attackers to hijack editor sessions via the admin preview route.

Which versions of TinaCMS are affected?

Versions of tinacms before 3.14.0 and @tinacms/app before 2.5.14 are affected.

Is there a fix available?

Yes, the vulnerability is fixed in tinacms 3.14.0 and @tinacms/app 2.5.14.

Sources

  1. CVE Program
  2. GitHub Advisory Database
TinaCMSCVE-2026-108261GraphQLContent Management SystemCritical Vulnerability
Related articles