Description
@tinacms/cli recently added lexical path-traversal checks to the dev media routes, but the implementation still validates only the path string and does not resolve symlink or junction targets.
If a link already exists under the media root, Tina accepts a path like pivot/written-from-media.txt as “inside” the media directory and then performs real filesystem operations through that link target.
Recommendation
Update the @tinacms/graphql package to the latest compatible version. Followings are version details:
- Affected version(s): <= 2.2.1
- Patched version(s): 2.2.2
References
Could your website be exposed too?
SmartScanner can check your website for @tinacms/graphql's Media Endpoints Can Escape the Media Root via Symlinks or Junctions and gives you actionable findings to investigate.
Start a free scanRelated Issues
- @tinacms/graphql's `FilesystemBridge` Path Validation Can Be Bypassed via Symlinks or Junctions - CVE-2026-34604
- @tinacms/graphql has Path Traversal that leads to overwrite of arbitrary files - CVE-2026-33949
- @tinacms/graphql has a Path Traversal issue - CVE-2026-24125
- NocoBase Affected by Sandbox Escape to RCE via console._stdout Prototype Chain Traversal in Workflow Script Node - CVE-2026-34156


