Skip to content
OpenAdvisories
High · 8.8 CVE-2026-63506 EUVD-2026-81019GHSA-g74q-6g2f-874x

Tina: [Broken Access Control] letting any TinaCloud user authorize against any self-hosted site

Published Sep 16, 2026 · Updated Sep 17, 2026 · Assigned by GitHub_M

Description

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.

Affected products

VendorProductAffectedFixed
tinacms tinacms < 1.1.4 —
@tinacms auth < 1.1.4 —
tinacms next-tinacms-azure < 15.0.1 —

Affected packages

EcosystemPackageAffectedFixedRecord
npm @tinacms/auth < 1.1.4 1.1.4 GHSA-g74q-6g2f-874x
npm next-tinacms-azure < 15.0.1 15.0.1 GHSA-g74q-6g2f-874x

References