Vulnerability Details CVE-2026-34603
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.
Exploit prediction scoring system (EPSS) score
EPSS Score 0.001
EPSS Ranking 21.0%
CVSS Severity
CVSS v3 Score 7.1
Products affected by CVE-2026-34603
-
cpe:2.3:a:ssw:tinacms/cli:0.2.55
-
cpe:2.3:a:ssw:tinacms/cli:0.2.56
-
cpe:2.3:a:ssw:tinacms/cli:0.2.57
-
cpe:2.3:a:ssw:tinacms/cli:0.2.58
-
cpe:2.3:a:ssw:tinacms/cli:0.2.60
-
cpe:2.3:a:ssw:tinacms/cli:0.3.0
-
cpe:2.3:a:ssw:tinacms/cli:0.3.1
-
cpe:2.3:a:ssw:tinacms/cli:0.4.0
-
cpe:2.3:a:ssw:tinacms/cli:0.50.0
-
cpe:2.3:a:ssw:tinacms/cli:0.50.1
-
cpe:2.3:a:ssw:tinacms/cli:0.51.0
-
cpe:2.3:a:ssw:tinacms/cli:0.51.1
-
cpe:2.3:a:ssw:tinacms/cli:0.52.0
-
cpe:2.3:a:ssw:tinacms/cli:0.52.1
-
cpe:2.3:a:ssw:tinacms/cli:0.52.2
-
cpe:2.3:a:ssw:tinacms/cli:0.53.0
-
cpe:2.3:a:ssw:tinacms/cli:0.53.1
-
cpe:2.3:a:ssw:tinacms/cli:0.53.2
-
cpe:2.3:a:ssw:tinacms/cli:0.53.3
-
cpe:2.3:a:ssw:tinacms/cli:0.54.0
-
cpe:2.3:a:ssw:tinacms/cli:0.54.1
-
cpe:2.3:a:ssw:tinacms/cli:0.54.2
-
cpe:2.3:a:ssw:tinacms/cli:0.55.0
-
cpe:2.3:a:ssw:tinacms/cli:0.55.1
-
cpe:2.3:a:ssw:tinacms/cli:0.55.2
-
cpe:2.3:a:ssw:tinacms/cli:0.56.0
-
cpe:2.3:a:ssw:tinacms/cli:0.56.1
-
cpe:2.3:a:ssw:tinacms/cli:0.56.2
-
cpe:2.3:a:ssw:tinacms/cli:0.56.3
-
cpe:2.3:a:ssw:tinacms/cli:0.56.4
-
cpe:2.3:a:ssw:tinacms/cli:0.56.5
-
cpe:2.3:a:ssw:tinacms/cli:0.57.0
-
cpe:2.3:a:ssw:tinacms/cli:0.57.1
-
cpe:2.3:a:ssw:tinacms/cli:0.57.2
-
cpe:2.3:a:ssw:tinacms/cli:0.58.0
-
cpe:2.3:a:ssw:tinacms/cli:0.58.1
-
cpe:2.3:a:ssw:tinacms/cli:0.58.2
-
cpe:2.3:a:ssw:tinacms/cli:0.58.3
-
cpe:2.3:a:ssw:tinacms/cli:0.58.4
-
cpe:2.3:a:ssw:tinacms/cli:0.58.5
-
cpe:2.3:a:ssw:tinacms/cli:0.59.0
-
cpe:2.3:a:ssw:tinacms/cli:0.60.0
-
cpe:2.3:a:ssw:tinacms/cli:0.60.1
-
cpe:2.3:a:ssw:tinacms/cli:0.60.10
-
cpe:2.3:a:ssw:tinacms/cli:0.60.11
-
cpe:2.3:a:ssw:tinacms/cli:0.60.12
-
cpe:2.3:a:ssw:tinacms/cli:0.60.13
-
cpe:2.3:a:ssw:tinacms/cli:0.60.14
-
cpe:2.3:a:ssw:tinacms/cli:0.60.15
-
cpe:2.3:a:ssw:tinacms/cli:0.60.16
-
cpe:2.3:a:ssw:tinacms/cli:0.60.17
-
cpe:2.3:a:ssw:tinacms/cli:0.60.18
-
cpe:2.3:a:ssw:tinacms/cli:0.60.19
-
cpe:2.3:a:ssw:tinacms/cli:0.60.2
-
cpe:2.3:a:ssw:tinacms/cli:0.60.20
-
cpe:2.3:a:ssw:tinacms/cli:0.60.21
-
cpe:2.3:a:ssw:tinacms/cli:0.60.22
-
cpe:2.3:a:ssw:tinacms/cli:0.60.23
-
cpe:2.3:a:ssw:tinacms/cli:0.60.24
-
cpe:2.3:a:ssw:tinacms/cli:0.60.25
-
cpe:2.3:a:ssw:tinacms/cli:0.60.26
-
cpe:2.3:a:ssw:tinacms/cli:0.60.27
-
cpe:2.3:a:ssw:tinacms/cli:0.60.28
-
cpe:2.3:a:ssw:tinacms/cli:0.60.3
-
cpe:2.3:a:ssw:tinacms/cli:0.60.4
-
cpe:2.3:a:ssw:tinacms/cli:0.60.5
-
cpe:2.3:a:ssw:tinacms/cli:0.60.6
-
cpe:2.3:a:ssw:tinacms/cli:0.60.7
-
cpe:2.3:a:ssw:tinacms/cli:0.60.8
-
cpe:2.3:a:ssw:tinacms/cli:0.60.9
-
cpe:2.3:a:ssw:tinacms/cli:0.61.0
-
cpe:2.3:a:ssw:tinacms/cli:0.61.1
-
cpe:2.3:a:ssw:tinacms/cli:0.61.10
-
cpe:2.3:a:ssw:tinacms/cli:0.61.11
-
cpe:2.3:a:ssw:tinacms/cli:0.61.12
-
cpe:2.3:a:ssw:tinacms/cli:0.61.13
-
cpe:2.3:a:ssw:tinacms/cli:0.61.14
-
cpe:2.3:a:ssw:tinacms/cli:0.61.15
-
cpe:2.3:a:ssw:tinacms/cli:0.61.16
-
cpe:2.3:a:ssw:tinacms/cli:0.61.17
-
cpe:2.3:a:ssw:tinacms/cli:0.61.18
-
cpe:2.3:a:ssw:tinacms/cli:0.61.19
-
cpe:2.3:a:ssw:tinacms/cli:0.61.2
-
cpe:2.3:a:ssw:tinacms/cli:0.61.20
-
cpe:2.3:a:ssw:tinacms/cli:0.61.21
-
cpe:2.3:a:ssw:tinacms/cli:0.61.22
-
cpe:2.3:a:ssw:tinacms/cli:0.61.23
-
cpe:2.3:a:ssw:tinacms/cli:0.61.24
-
cpe:2.3:a:ssw:tinacms/cli:0.61.25
-
cpe:2.3:a:ssw:tinacms/cli:0.61.26
-
cpe:2.3:a:ssw:tinacms/cli:0.61.27
-
cpe:2.3:a:ssw:tinacms/cli:0.61.3
-
cpe:2.3:a:ssw:tinacms/cli:0.61.4
-
cpe:2.3:a:ssw:tinacms/cli:0.61.5
-
cpe:2.3:a:ssw:tinacms/cli:0.61.6
-
cpe:2.3:a:ssw:tinacms/cli:0.61.7
-
cpe:2.3:a:ssw:tinacms/cli:0.61.8
-
cpe:2.3:a:ssw:tinacms/cli:0.61.9
-
cpe:2.3:a:ssw:tinacms/cli:0.62.0
-
cpe:2.3:a:ssw:tinacms/cli:0.62.1
-
cpe:2.3:a:ssw:tinacms/cli:0.62.2
-
cpe:2.3:a:ssw:tinacms/cli:0.62.3
-
cpe:2.3:a:ssw:tinacms/cli:1.0.0
-
cpe:2.3:a:ssw:tinacms/cli:1.0.1
-
cpe:2.3:a:ssw:tinacms/cli:1.0.2
-
cpe:2.3:a:ssw:tinacms/cli:1.0.3
-
cpe:2.3:a:ssw:tinacms/cli:1.0.4
-
cpe:2.3:a:ssw:tinacms/cli:1.0.5
-
cpe:2.3:a:ssw:tinacms/cli:1.0.6
-
cpe:2.3:a:ssw:tinacms/cli:1.0.7
-
cpe:2.3:a:ssw:tinacms/cli:1.0.8
-
cpe:2.3:a:ssw:tinacms/cli:1.0.9
-
cpe:2.3:a:ssw:tinacms/cli:1.1.0
-
cpe:2.3:a:ssw:tinacms/cli:1.10.0
-
cpe:2.3:a:ssw:tinacms/cli:1.10.1
-
cpe:2.3:a:ssw:tinacms/cli:1.10.2
-
cpe:2.3:a:ssw:tinacms/cli:1.10.3
-
cpe:2.3:a:ssw:tinacms/cli:1.11.0
-
cpe:2.3:a:ssw:tinacms/cli:1.12.0
-
cpe:2.3:a:ssw:tinacms/cli:1.12.1
-
cpe:2.3:a:ssw:tinacms/cli:1.12.2
-
cpe:2.3:a:ssw:tinacms/cli:1.12.3
-
cpe:2.3:a:ssw:tinacms/cli:1.12.4
-
cpe:2.3:a:ssw:tinacms/cli:1.12.5
-
cpe:2.3:a:ssw:tinacms/cli:1.12.6
-
cpe:2.3:a:ssw:tinacms/cli:1.2.0
-
cpe:2.3:a:ssw:tinacms/cli:1.2.1
-
cpe:2.3:a:ssw:tinacms/cli:1.2.2
-
cpe:2.3:a:ssw:tinacms/cli:1.3.0
-
cpe:2.3:a:ssw:tinacms/cli:1.3.1
-
cpe:2.3:a:ssw:tinacms/cli:1.3.2
-
cpe:2.3:a:ssw:tinacms/cli:1.3.3
-
cpe:2.3:a:ssw:tinacms/cli:1.4.0
-
cpe:2.3:a:ssw:tinacms/cli:1.4.1
-
cpe:2.3:a:ssw:tinacms/cli:1.5.0
-
cpe:2.3:a:ssw:tinacms/cli:1.5.1
-
cpe:2.3:a:ssw:tinacms/cli:1.5.10
-
cpe:2.3:a:ssw:tinacms/cli:1.5.11
-
cpe:2.3:a:ssw:tinacms/cli:1.5.12
-
cpe:2.3:a:ssw:tinacms/cli:1.5.13
-
cpe:2.3:a:ssw:tinacms/cli:1.5.14
-
cpe:2.3:a:ssw:tinacms/cli:1.5.15
-
cpe:2.3:a:ssw:tinacms/cli:1.5.16
-
cpe:2.3:a:ssw:tinacms/cli:1.5.17
-
cpe:2.3:a:ssw:tinacms/cli:1.5.18
-
cpe:2.3:a:ssw:tinacms/cli:1.5.19
-
cpe:2.3:a:ssw:tinacms/cli:1.5.2
-
cpe:2.3:a:ssw:tinacms/cli:1.5.20
-
cpe:2.3:a:ssw:tinacms/cli:1.5.21
-
cpe:2.3:a:ssw:tinacms/cli:1.5.22
-
cpe:2.3:a:ssw:tinacms/cli:1.5.23
-
cpe:2.3:a:ssw:tinacms/cli:1.5.24
-
cpe:2.3:a:ssw:tinacms/cli:1.5.25
-
cpe:2.3:a:ssw:tinacms/cli:1.5.26
-
cpe:2.3:a:ssw:tinacms/cli:1.5.27
-
cpe:2.3:a:ssw:tinacms/cli:1.5.28
-
cpe:2.3:a:ssw:tinacms/cli:1.5.29
-
cpe:2.3:a:ssw:tinacms/cli:1.5.3
-
cpe:2.3:a:ssw:tinacms/cli:1.5.30
-
cpe:2.3:a:ssw:tinacms/cli:1.5.31
-
cpe:2.3:a:ssw:tinacms/cli:1.5.32
-
cpe:2.3:a:ssw:tinacms/cli:1.5.33
-
cpe:2.3:a:ssw:tinacms/cli:1.5.34
-
cpe:2.3:a:ssw:tinacms/cli:1.5.35
-
cpe:2.3:a:ssw:tinacms/cli:1.5.36
-
cpe:2.3:a:ssw:tinacms/cli:1.5.37
-
cpe:2.3:a:ssw:tinacms/cli:1.5.38
-
cpe:2.3:a:ssw:tinacms/cli:1.5.39
-
cpe:2.3:a:ssw:tinacms/cli:1.5.4
-
cpe:2.3:a:ssw:tinacms/cli:1.5.40
-
cpe:2.3:a:ssw:tinacms/cli:1.5.41
-
cpe:2.3:a:ssw:tinacms/cli:1.5.42
-
cpe:2.3:a:ssw:tinacms/cli:1.5.43
-
cpe:2.3:a:ssw:tinacms/cli:1.5.44
-
cpe:2.3:a:ssw:tinacms/cli:1.5.45
-
cpe:2.3:a:ssw:tinacms/cli:1.5.46
-
cpe:2.3:a:ssw:tinacms/cli:1.5.47
-
cpe:2.3:a:ssw:tinacms/cli:1.5.48
-
cpe:2.3:a:ssw:tinacms/cli:1.5.49
-
cpe:2.3:a:ssw:tinacms/cli:1.5.5
-
cpe:2.3:a:ssw:tinacms/cli:1.5.50
-
cpe:2.3:a:ssw:tinacms/cli:1.5.51
-
cpe:2.3:a:ssw:tinacms/cli:1.5.52
-
cpe:2.3:a:ssw:tinacms/cli:1.5.53
-
cpe:2.3:a:ssw:tinacms/cli:1.5.6
-
cpe:2.3:a:ssw:tinacms/cli:1.5.7
-
cpe:2.3:a:ssw:tinacms/cli:1.5.8
-
cpe:2.3:a:ssw:tinacms/cli:1.5.9
-
cpe:2.3:a:ssw:tinacms/cli:1.6.0
-
cpe:2.3:a:ssw:tinacms/cli:1.6.1
-
cpe:2.3:a:ssw:tinacms/cli:1.6.10
-
cpe:2.3:a:ssw:tinacms/cli:1.6.11
-
cpe:2.3:a:ssw:tinacms/cli:1.6.12
-
cpe:2.3:a:ssw:tinacms/cli:1.6.13
-
cpe:2.3:a:ssw:tinacms/cli:1.6.2
-
cpe:2.3:a:ssw:tinacms/cli:1.6.3
-
cpe:2.3:a:ssw:tinacms/cli:1.6.4
-
cpe:2.3:a:ssw:tinacms/cli:1.6.5
-
cpe:2.3:a:ssw:tinacms/cli:1.6.6
-
cpe:2.3:a:ssw:tinacms/cli:1.6.7
-
cpe:2.3:a:ssw:tinacms/cli:1.6.8
-
cpe:2.3:a:ssw:tinacms/cli:1.6.9
-
cpe:2.3:a:ssw:tinacms/cli:1.7.0
-
cpe:2.3:a:ssw:tinacms/cli:1.8.0
-
cpe:2.3:a:ssw:tinacms/cli:1.8.1
-
cpe:2.3:a:ssw:tinacms/cli:1.8.2
-
cpe:2.3:a:ssw:tinacms/cli:1.8.3
-
cpe:2.3:a:ssw:tinacms/cli:1.8.4
-
cpe:2.3:a:ssw:tinacms/cli:1.9.0
-
cpe:2.3:a:ssw:tinacms/cli:1.9.1
-
cpe:2.3:a:ssw:tinacms/cli:1.9.10
-
cpe:2.3:a:ssw:tinacms/cli:1.9.2
-
cpe:2.3:a:ssw:tinacms/cli:1.9.3
-
cpe:2.3:a:ssw:tinacms/cli:1.9.5
-
cpe:2.3:a:ssw:tinacms/cli:1.9.6
-
cpe:2.3:a:ssw:tinacms/cli:1.9.7
-
cpe:2.3:a:ssw:tinacms/cli:1.9.8
-
cpe:2.3:a:ssw:tinacms/cli:1.9.9
-
cpe:2.3:a:ssw:tinacms/cli:2.0.0
-
cpe:2.3:a:ssw:tinacms/cli:2.0.1
-
cpe:2.3:a:ssw:tinacms/cli:2.0.2
-
cpe:2.3:a:ssw:tinacms/cli:2.0.3
-
cpe:2.3:a:ssw:tinacms/cli:2.0.4
-
cpe:2.3:a:ssw:tinacms/cli:2.0.5
-
cpe:2.3:a:ssw:tinacms/cli:2.0.6
-
cpe:2.3:a:ssw:tinacms/cli:2.0.7
-
cpe:2.3:a:ssw:tinacms/cli:2.1.0
-
cpe:2.3:a:ssw:tinacms/cli:2.1.1
-
cpe:2.3:a:ssw:tinacms/cli:2.1.2
-
cpe:2.3:a:ssw:tinacms/cli:2.1.3
-
cpe:2.3:a:ssw:tinacms/cli:2.1.4
-
cpe:2.3:a:ssw:tinacms/cli:2.1.5
-
cpe:2.3:a:ssw:tinacms/cli:2.1.6
-
cpe:2.3:a:ssw:tinacms/cli:2.1.7
-
cpe:2.3:a:ssw:tinacms/cli:2.1.8
-
cpe:2.3:a:ssw:tinacms/cli:2.1.9