CVE-2026-108261
TinaCMS admin preview iframe loads an attacker-controlled origin from the URL fragment
- Published
- Updated
- Reserved
- Assigned by
- GitHub_M
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.
Public exploit
A reference of the record is tagged as an exploit or proof of concept: anyone can try it against an unpatched system. CISA's SSVC rates its exploitation: a proof of concept is public.
- https://github.com/tinacms/tinacms/security/advisories/GHSA-x34j-47hf-4xg7 (opens in a new tab)x_refsource_CONFIRMexploit
Timeline
ID reserved
By GitHub_M
Published
- 4 days later
· 4 days later
Record updated
Changes after publication (a new score, a public exploit, EPSS crossing 1, 10 or 50 %, leaving KEV) are kept since November 2026; earlier ones are not known.
Scores
| Scored by | CVSS | Score | Vector |
|---|---|---|---|
| GitHub_MCNA (assigner) | 3.1 | Critical9.3 | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:N |
| NVDNVD · Deferred | 3.1 | Critical9.3 | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:N |
- EPSS (exploitation in 30 days)
- 0.20% · top 91% of all CVEs (7 Nov 2026)
- CISA SSVC
- Exploitation: poc · Automatable: no · Technical impact: total
The list uses the assigner's score when there is one, then CISA's, then NVD's: Critical 9.3.
Weakness
- CWE-346: Origin Validation Error (opens in a new tab)All about CWE-346 and its CVEs
- CWE-441: Unintended Proxy or Intermediary ('Confused Deputy') (opens in a new tab)All about CWE-441 and its CVEs
- CWE-601: URL Redirection to Untrusted Site ('Open Redirect') (opens in a new tab)All about CWE-601 and its CVEs
Affected products
Affected packages
From reviewed advisories of the GitHub Advisory Database.
- npm@tinacms/appGHSA-x34j-47hf-4xg7 (opens in a new tab)
- npmtinacmsGHSA-x34j-47hf-4xg7 (opens in a new tab)
References (5)
- https://github.com/tinacms/tinacms/security/advisories/GHSA-x34j-47hf-4xg7 (opens in a new tab)x_refsource_CONFIRMexploit
- https://github.com/tinacms/tinacms/pull/7522 (opens in a new tab)x_refsource_MISC
- https://github.com/tinacms/tinacms/commit/b57dbf4b56201aef15cd92caa49fd12ab96bbecf (opens in a new tab)x_refsource_MISC
- https://github.com/tinacms/tinacms/releases/tag/@tinacms/[email protected] (opens in a new tab)x_refsource_MISC
- https://github.com/tinacms/tinacms/releases/tag/[email protected] (opens in a new tab)x_refsource_MISC
Sources
The same CVE in the primary databases and aggregators, to check against.
- CVE.org record (opens in a new tab)
- CVE List JSON (GitHub) (opens in a new tab)
- NVD (opens in a new tab)
- FIRST EPSS (opens in a new tab)
- OSV.dev (opens in a new tab)
- GitHub Advisory GHSA-x34j-47hf-4xg7 (opens in a new tab)
- CIRCL Vulnerability-Lookup (opens in a new tab)
Badge for a README or a ticket
[](https://trackcve.app/cve/CVE-2026-108261)Record last updated .