@tinacms/graphql's Media Endpoints Can Escape the Media Root via Symlinks or Junctions
Key facts
- Attack vector
- Network
- Privileges required
- Low
- User interaction
- None
- Attack complexity
- Low
- Impact type
- —
- Confidentiality · integrity · availability
- High · High · Low
- 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/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. This allows out-of-root media listing and write access, and the same root cause also affects delete. This issue has been patched in version 2.2.2.
Why it matters now
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
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| tinacms | tinacms | before 2.2.2 | 2.2.2 | Patch available | CNA |
| — | @tinacms/graphql (npm) | before 2.2.2 | 2.2.2 | Patch available | GHSA-g87c-r2jp-293w |
- 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-g87c-r2jp-293w
Remediation
- Fix · CNA tinacms (tinacms) Fixed in 2.2.2
- Fix · GHSA-g87c-r2jp-293w @tinacms/graphql (npm) Fixed in 2.2.2 Advisory →
Timeline
- 2026-10-02 Threatist record created from CVE-2026-34603
- 2026-10-03 Alias added: GHSA-g87c-r2jp-293w
References
More Tinacms/cli vulnerabilities
- TI-2026-22987 Cross-Origin File Exfiltration via CORS Misconfiguration + Path Traversal in TinaCMS CVSS 3.1CRITICAL 9.7
- TI-2026-22988 Path Traversal Leading to Arbitrary File Read, Write and Delete in TinaCMS CVSS 3.1HIGH 8.4
- TI-2026-22986 Path Traversal in Media Upload Handle in Tina CVSS 3.1HIGH 7.4
- TI-2025-41854 tinacms vulnerable to arbitrary code execution CVSS 4.0HIGH 7.3
- TI-2026-23211 Arbitrary File Read via Disabled Vite Filesystem Restriction in TinaCMS CLI CVSS 3.1MEDIUM 6.2
- TI-2023-10626 Sensitive Information leak via Script File in TinaCMS CVSS 3.1HIGH 8.6
Sources
- CVE-2026-34603 · CVE Program
- CVE-2026-34603 · NVD
- FIRST EPSS
- GHSA-g87c-r2jp-293w · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences