Advisory Database
  • Advisories
  • Dependency Scanning
  1. npm
  2. ›
  3. @tinacms/graphql
  4. ›
  5. CVE-2026-34604

CVE-2026-34604: @tinacms/graphql's `FilesystemBridge` Path Validation Can Be Bypassed via Symlinks or Junctions

April 1, 2026 (updated April 6, 2026)

@tinacms/graphql uses string-based path containment checks in FilesystemBridge:

  • path.resolve(path.join(baseDir, filepath))
  • startsWith(resolvedBase + path.sep)

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.

References

  • github.com/advisories/GHSA-g9c2-gf25-3x67
  • github.com/tinacms/tinacms
  • github.com/tinacms/tinacms/commit/f124eabaca10dac9a4d765c9e4135813c4830955
  • github.com/tinacms/tinacms/security/advisories/GHSA-g9c2-gf25-3x67
  • nvd.nist.gov/vuln/detail/CVE-2026-34604

Code Behaviors & Features

Detect and mitigate CVE-2026-34604 with GitLab Dependency Scanning

Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Learn more about Dependency Scanning →

Affected versions

All versions before 2.2.2

Fixed versions

  • 2.2.2

Solution

Upgrade to version 2.2.2 or above.

Impact 7.1 HIGH

CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:L

Learn more about CVSS

Weakness

  • CWE-22: Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')
  • CWE-59: Improper Link Resolution Before File Access ('Link Following')

Source file

npm/@tinacms/graphql/CVE-2026-34604.yml

Spotted a mistake? Edit the file on GitLab.

  • Site Repo
  • About GitLab
  • Terms
  • Privacy Statement
  • Contact

Page generated Fri, 17 Apr 2026 00:19:24 +0000.