Tina: [Broken Access Control] letting any TinaCloud user authorize against any self-hosted site
Key facts
- Attack vector
- Network
- Privileges required
- Low
- User interaction
- None
- Attack complexity
- Low
- Impact type
- Security bypass
- Confidentiality · integrity · availability
- High · High · High
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA and GitHub. Impact type from CWE-639.
Summary
Tina is a headless content management system. Prior to @tinacms/auth 1.1.4 and next-tinacms-azure 15.0.1, isAuthorized accepts a request-controlled clientID and asks isUserAuthorized to validate the bearer token against that selected TinaCloud app instead of the self-hosted site's configured app. An attacker with any TinaCloud account can submit the attacker's own app ID and valid token to a victim endpoint, causing TinaCloudBackendAuthProvider or an affected media authorized callback to accept the attacker's verified status across the tenant boundary. The vulnerable logic is present in packages/@tinacms/auth/src/index.ts and packages/next-tinacms-azure/src/auth.ts. Successful exploitation permits media listing, reading, upload, or deletion and, when TinaCloudBackendAuthProvider is used, GraphQL read, create, update, and delete operations on the victim's content without a victim account or victim interaction. This vulnerability is fixed in @tinacms/auth 1.1.4 and next-tinacms-azure 15.0.1.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- Poc
- Automatable
- No
- Technical impact
- Total
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| tinacms | tinacms | before 1.1.4 | 1.1.4 | Patch available | CNA |
| tinacms | auth | before 1.1.4 | 1.1.4 | Patch available | CNA |
| tinacms | next-tinacms-azure | before 15.0.1 | 15.0.1 | Patch available | CNA |
| — | @tinacms/auth (npm) | before 1.1.4 | 1.1.4 | Patch available | GHSA-g74q-6g2f-874x |
| — | next-tinacms-azure (npm) | before 15.0.1 | 15.0.1 | Patch available | GHSA-g74q-6g2f-874x |
- tinacms Vendortinacms Affected before 1.1.4 Fixed in 1.1.4 Patch available CNA
- auth Vendortinacms Affected before 1.1.4 Fixed in 1.1.4 Patch available CNA
- next-tinacms-azure Vendortinacms Affected before 15.0.1 Fixed in 15.0.1 Patch available CNA
- @tinacms/auth (npm) Vendor— Affected before 1.1.4 Fixed in 1.1.4 Patch available GHSA-g74q-6g2f-874x
- next-tinacms-azure (npm) Vendor— Affected before 15.0.1 Fixed in 15.0.1 Patch available GHSA-g74q-6g2f-874x
Remediation
- Fix · CNA tinacms (tinacms) Fixed in 1.1.4
- Fix · CNA auth (@tinacms) Fixed in 1.1.4
- Fix · CNA next-tinacms-azure (tinacms) Fixed in 15.0.1
- Fix · GHSA-g74q-6g2f-874x @tinacms/auth (npm) Fixed in 1.1.4 Advisory →
- Fix · GHSA-g74q-6g2f-874x next-tinacms-azure (npm) Fixed in 15.0.1 Advisory →
Timeline
- 2026-10-02 Threatist record created from CVE-2026-63506
- 2026-10-03 Alias added: GHSA-g74q-6g2f-874x
References
Other 6
- https://github.com/tinacms/tinacms/security/advisories/GHSA-g74q-6g2f-874x
- https://github.com/tinacms/tinacms/pull/7168
- https://github.com/tinacms/tinacms/commit/0a927a4f8d228dd05ee7ca4be32899bc190e73af
- https://github.com/tinacms/tinacms/releases/tag/@tinacms/[email protected]
- https://github.com/tinacms/tinacms/releases/tag/[email protected]
- https://github.com/tinacms/tinacms
More tinacms vulnerabilities
- TI-2026-22987 Cross-Origin File Exfiltration via CORS Misconfiguration + Path Traversal in TinaCMS CVSS 3.1CRITICAL 9.7
- TI-2026-70295 TinaCMS admin preview frames attacker-controlled origin CVSS 3.1CRITICAL 9.3
- TI-2026-26851 @tinacms/graphql's `FilesystemBridge` Path Validation Can Be Bypassed via Symlinks or Junctions CVSS 3.1HIGH 8.8
- TI-2026-22988 Path Traversal Leading to Arbitrary File Read, Write and Delete in TinaCMS CVSS 3.1HIGH 8.4
- TI-2026-70293 Code injection in Tina CLI via unescaped Git branch name CVSS 3.1HIGH 8.2
- TI-2026-26850 @tinacms/graphql's Media Endpoints Can Escape the Media Root via Symlinks or Junctions CVSS 3.1HIGH 8.3
Sources
- CVE-2026-63506 · CVE Program
- CVE-2026-63506 · NVD
- FIRST EPSS
- GHSA-g74q-6g2f-874x · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences