Skip to main content
← All vulnerabilities
CVE-2026-108259GHSA-PWHX-CVV3-QJ5C

Tina: Code injection via unescaped Git branch name in generated client source

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 3.0.0
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: poc
  • Automatable: no
  • Technical impact: total

Summary

Tina is a headless content management system. Prior to 3.0.0, @tinacms/cli reads Git branch values from VERCEL_GIT_COMMIT_REF, GITHUB_BRANCH, or HEAD, incorporates the raw value into the API URL, and interpolates that URL into JavaScript string literals in packages/@tinacms/cli/src/next/codegen/index.ts and packages/@tinacms/cli/src/next/codegen/codegen/plugin.ts. A crafted Git-valid branch name containing a quote can terminate the generated string and inject an expression that executes when the generated client module is imported during a preview build. The injected code runs with the build process privileges and can read environment credentials, modify deployment artifacts, or make network requests. This issue is fixed in version 3.0.0.

Timeline

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: poc · Automatable: no · Technical impact: total

  3. Record last updated

Affected versions

  • tinacms tinacms

    fixed in 3.0.0

  • @tinacms cli

    fixed in 3.0.0

  • @tinacms/clinpm

    fixed in 3.0.0

References 4

GitHub · tinacms/tinacms