CVE-2026-34603
HIGH@tinacms/graphql's Media Endpoints Can Escape the Media Root via Symlinks or Junctions
Title source: cnaDescription
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.
Scores
CVSS v3
7.1
EPSS
0.0008
EPSS Percentile
22.4%
Attack Vector
NETWORK
CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:L
CISA SSVC
Vulnrichment
Exploitation
poc
Automatable
no
Technical Impact
total
Details
CWE
CWE-22
CWE-59
Status
published
Products (3)
ssw/tinacms\/cli
< 2.2.1
tinacms/graphql
0 - 2.2.2npm
tinacms/tinacms
< 2.2.2
Published
Apr 01, 2026
Tracked Since
Apr 01, 2026