Description
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.
Recommendation
Update the @tinacms/app package to the latest compatible version. Followings are version details:
- Affected version(s): <= 2.5.13
- Patched version(s): 2.5.14
References
Could your website be exposed too?
SmartScanner can check your website for TinaCMS admin preview iframe loads an attacker-controlled origin from the URL fragment - @tinacms/app and gives you actionable findings to investigate.
Start a free scanRelated Issues
- TinaCMS admin preview iframe loads an attacker-controlled origin from the URL fragment - CVE-2026-108261
- TinaCMS: Cross-origin postMessage handlers and rich-text URL-sanitization bypass enable stored XSS and session takeover - @tinacms/app - CVE-2026-55660
- TinaCMS: Cross-origin postMessage handlers and rich-text URL-sanitization bypass enable stored XSS and session takeover - CVE-2026-55660
- Storybook: Missing origin validation in Storybook preview allows code injection from malicious websites - CVE-2026-114125


