Read the docs
TI-2026-26851 Aliases CVE-2026-34604GHSA-g9c2-gf25-3x67

@tinacms/graphql's `FilesystemBridge` Path Validation Can Be Bypassed via Symlinks or Junctions

Priority HIGH 73CWE-22Published · Updated

Key facts

Attack vector
Network
Privileges required
Low
User interaction
None
Attack complexity
Low
Impact type
—
Confidentiality · integrity · availability
High · High · High
Fix status
Fixed

Attack profile from CVSS 3.1 · NVD. Fix status from CNA and GitHub.

Summary

Tina is a headless content management system. Prior to version 2.2.2, @tinacms/graphql uses string-based path containment checks in FilesystemBridge. That blocks plain ../ traversal, but it does not resolve symlink or junction targets. If a symlink/junction already exists under the allowed content root, a path like content/posts/pivot/owned.md is still considered "inside" the base even though the real filesystem target can be outside it. As a result, FilesystemBridge.get(), put(), delete(), and glob() can operate on files outside the intended root. This issue has been patched in version 2.2.2.

Why it matters now

Exploitation Proof of concept CISA SSVC · not in CISA KEV
EPSS 0.00379 32nd percentileScored 2026-11-07
Fix Fixed tinacms (tinacms): 2.2.2@tinacms/graphql (npm): 2.2.2

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

VendorProductAffected versionsFixed inStatusSource
tinacmstinacmsbefore 2.2.22.2.2Patch availableCNA
—@tinacms/graphql (npm)before 2.2.22.2.2Patch availableGHSA-g9c2-gf25-3x67
  • tinacms Vendortinacms Affected before 2.2.2 Fixed in 2.2.2 Patch available CNA
  • @tinacms/graphql (npm) Vendor— Affected before 2.2.2 Fixed in 2.2.2 Patch available GHSA-g9c2-gf25-3x67

CPE configurations NVD · 1

CPEVersionsRoleVendor
cpe:2.3:a:ssw:tinacms\/graphql:*:*:*:*:*:node.js:*:*up to 2.2.1Vulnerabletinacms
  • cpe:2.3:a:ssw:tinacms\/graphql:*:*:*:*:*:node.js:*:* Versions up to 2.2.1 Vulnerable ·tinacms

Remediation

  • Fix · CNA tinacms (tinacms) Fixed in 2.2.2
  • Fix · GHSA-g9c2-gf25-3x67 @tinacms/graphql (npm) Fixed in 2.2.2 Advisory →

Timeline

  1. 2026-10-02 Threatist record created from CVE-2026-34604
  2. 2026-10-03 Alias added: GHSA-g9c2-gf25-3x67

References

  • TI-2026-26299 @tinacms/graphql has Path Traversal that leads to overwrite of arbitrary files CVSS 3.1HIGH 8.1
  • TI-2025-41854 tinacms vulnerable to arbitrary code execution CVSS 4.0HIGH 7.3
  • TI-2026-19443 Path Traversal in @tinacms/graphql CVSS 3.1MEDIUM 6.3

Sources