Back to list

TinaCMS admin preview iframe loads an attacker-controlled origin from the URL fragment — GHSA-X34J-47HF-4XG7

GitHub · GitHub · GHSA-X34J-47HF-4XG7

ID
GHSA-X34J-47HF-4XG7
Date
Source
GitHub
Vendor
GitHub
Threat
critical
CVSS
9.3

Summary

### Summary The TinaCMS admin builds its preview `<iframe src>` from the `/~/*` hash-router splat without checking that the value stays same-origin. A fragment with a doubled slash (`#/~//attacker.example/p`) becomes the protocol-relative URL `//attacker.example/p`, so the admin frames an external site. That same unvalidated string derives `expectedOrigin`, the only trust anchor for the admin↔preview `postMessage`…

Timeline

Published by source
2026-10-09

Risk context

  • Reported severity or threat level: critical.
  • Reported CVSS score: 9.3 out of 10.
  • Review exposure for the affected product or family: npm: tinacms | npm: @tinacms/app.

Product

npm: tinacms | npm: @tinacms/app

What to do

General, cautious steps (verify details in the official source):

  • Prioritize patching or mitigation immediately (treat as actively risky).
  • Identify affected product versions in your inventory and verify whether you are impacted.
  • Apply vendor patches/updates or recommended mitigations as soon as available.
  • Read the official advisory for exact affected versions and remediation steps.

Official advisory

Evidence and provenance

Canonical advisory ID
GHSA-X34J-47HF-4XG7
Source
GitHub
Vendor
GitHub
Published by source
2026-10-09
Last source activity
2026-10-09
Additional identifiers
CVE-2026-108261
Curated by
hlukh.ch

Related advisories and connections

These advisories are connected by shared CVE, product, vendor, source, or time signals.