CVE-2026-34603

@tinacms/graphql's Media Endpoints Can Escape the Media Root via Symlinks or Junctions

Published Apr 1, 2026 CVSS 3.1 · 7.1 High EPSS < 1% KEV · Not listed
Description
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.

Remediation

No solution or workaround provided in the CVE record

Tracking

Sign in to view the affected projects.

Advisories

Source ID Title
Github GHSA Github GHSA GHSA-g87c-r2jp-293w @tinacms/graphql's Media Endpoints Can Escape the Media Root via Symlinks or Junctions
History
Type Values Removed Values Added
First Time appeared Ssw
Ssw tinacms\/cli
CPEs cpe:2.3:a:ssw:tinacms\/cli:*:*:*:*:*:node.js:*:*
Vendors & Products Ssw
Ssw tinacms\/cli
Type Values Removed Values Added
First Time appeared Tina
Tina tinacms
Vendors & Products Tina
Tina tinacms
Type Values Removed Values Added
Description 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.
Title @tinacms/graphql's Media Endpoints Can Escape the Media Root via Symlinks or Junctions
Weaknesses CWE-22
CWE-59
References
Metrics cvssV3_1

{'score': 7.1, 'vector': 'CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:L'}

ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'poc', 'Technical Impact': 'total'}, 'version': '2.0.3'}

Weaknesses

Sources

Status
PUBLISHED
Assigner
GitHub_M
Published
Updated
Apr 1, 2026, 5:54 PM
Reserved
Mar 30, 2026, 5:15 PM
Status
Analyzed
Published
Apr 1, 2026, 5:28 PM
Modified
Jun 17, 2026, 10:39 AM