p PatchFirst

CVE-2026-55660

CVE-2026-55660 · TinaCMS: Cross-origin postMessage handlers and rich-text URL-sanitization bypass enable stored XSS and session takeover

This page contains facts from public vulnerability sources. Check the original advisory before updating.

Tina is a headless content management system. In versions prior to @tinacms/app 2.5.6 and tinacms 3.9.3, cross-origin postMessage handlers and a rich-text URL-sanitization bypass enable stored XSS and session takeover. The library registers window message listeners — the useTina overlay handler, the OAuth authentication popup handler, and the admin↔preview iframe GraphQL reducer — that act on event.data without verifying event.origin or event.source and post messages using non-specific target origins, while insufficient URL sanitization in rich-text content allows malicious URLs to persist and execute. A page the victim visits (or a window in an opener/iframe relationship with a Tina admin) can forge messages to drive the editor, inject preview content, or observe/forge the OAuth popup channel to take over an authenticated editing session. This issue has been fixed in versions @tinacms/app 2.5.6 and tinacms 3.9.3.

CVSS 7.6 · High · EPSS 0.3% · Fix available

Published
Updated

Stack: node

Affected products and versions

  • tinacms

    Versions
    • < 3.9.3: Affected

    No fix published

  • @tinacms/app

    Versions
    • < 2.5.6: Affected

    No fix published

  • tinacms npm

    Affected ranges
    • SEMVER: < 3.9.3

    Update to 3.9.3

  • @tinacms/app npm

    Affected ranges
    • SEMVER: < 2.5.6

    Update to 2.5.6

Original sources

Check your server →