CVE-2026-108261 TinaCMS admin preview iframe loads an attacker-controlled origin from the URL fragment
An attacker can trick an editor into loading a malicious iframe, allowing unauthorized GraphQL reads and mutations with editor credentials.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- A user has to click or open something
- Fix
- Available
What is CVE-2026-108261?
CVE-2026-108261 is a critical vulnerability in @tinacms app, published on 9 Oct 2026. An attacker can exploit it over the internet without logging in, and only if a user opens a file or follows a link.
Official 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.
Which versions are affected by CVE-2026-108261?
4 open source packages ship an affected version, including @tinacms/app and tinacms.
| Package | Affected | Fixed in |
|---|---|---|
@tinacms/app npm | All versions | 2.5.14 |
@tinacms/app npm | All versions | 2.5.14 |
tinacms npm | All versions | 3.14.0 |
tinacms npm | All versions | 3.14.0 |
How do I fix CVE-2026-108261?
Upgrade @tinacms/app to 2.5.14 or later.
Is CVE-2026-108261 being exploited?
It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-108261 exists.
Sources
Also known as GHSA-x34j-47hf-4xg7.