CVE-2026-34603
Received Received - Intake
Path Traversal in TinaCMS @tinacms/cli Allows Media Access Abuse

Publication date: 2026-04-01

Last updated on: 2026-04-07

Assigner: GitHub, Inc.

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.
CVSS Scores
EPSS Scores
Probability:
Percentile:
Meta Information
Published
2026-04-01
Last Modified
2026-04-07
Generated
2026-05-06
AI Q&A
2026-04-01
EPSS Evaluated
2026-05-05
NVD
EUVD
Affected Vendors & Products
Showing 1 associated CPE
Vendor Product Version / Range
ssw tinacms/cli to 2.2.1 (inc)
Helpful Resources
Exploitability
CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-22 The product uses external input to construct a pathname that is intended to identify a file or directory that is located underneath a restricted parent directory, but the product does not properly neutralize special elements within the pathname that can cause the pathname to resolve to a location that is outside of the restricted directory.
CWE-59 The product attempts to access a file based on the filename, but it does not properly prevent that filename from identifying a link or shortcut that resolves to an unintended resource.
Attack-Flow Graph
AI Powered Q&A
Can you explain this vulnerability to me?

CVE-2026-34603 is a symlink path traversal vulnerability in TinaCMS's media endpoints and FilesystemBridge components. The vulnerability arises because the system only performs lexical path checks on user-supplied paths without resolving symbolic links (symlinks) or junctions. This means an attacker can create a symlink inside the allowed media directory that points outside the root directory, bypassing validation.

As a result, the attacker can perform unauthorized filesystem operations such as listing, writing, or deleting files outside the intended media root directory. The vulnerability affects media routes like listing, uploading, and deleting media files, as well as content operations via the FilesystemBridge interface.

The issue was fixed in version 2.2.2 by introducing symlink-aware validation that resolves real filesystem paths using functions like fs.realpathSync, ensuring that operations cannot escape the base directory even through symlinks or junctions.


How can this vulnerability impact me? :

This vulnerability can lead to unauthorized access and modification of files outside the intended media root directory in TinaCMS. An attacker with low privileges and no user interaction can exploit this to:

  • List files outside the media root directory.
  • Write or upload files outside the media root directory.
  • Delete files outside the media root directory.

Such unauthorized file system operations can lead to high confidentiality and integrity loss, potentially exposing sensitive data or corrupting important files. The impact on availability is low.


How can this vulnerability be detected on my network or system? Can you suggest some commands?

This vulnerability can be detected by checking for the presence of symbolic links (symlinks) or junctions inside the media root directory that point outside the intended directory. Since the vulnerability involves path traversal via symlinks, you can look for symlinks within your media directories that resolve outside the base media directory.

Suggested commands to detect such symlinks on a Unix-like system include:

  • Find all symlinks inside the media root directory (replace /path/to/media with your media root): find /path/to/media -type l -exec ls -l {} +
  • For each symlink found, resolve its real path to check if it points outside the media root: readlink -f /path/to/media/symlink

If any symlink resolves to a path outside the media root, it indicates a potential exploitation vector for this vulnerability.

Additionally, monitoring network requests to media endpoints such as /media/list/, /media/upload/, and DELETE operations on media files can help detect suspicious activity attempting to exploit this vulnerability.


What immediate steps should I take to mitigate this vulnerability?

The immediate mitigation step is to upgrade the @tinacms/cli package to version 2.2.2 or later, where this vulnerability has been patched.

The patch includes robust symlink resolution and validation that prevents directory traversal attacks by resolving real filesystem paths and rejecting operations that escape the media root directory.

If upgrading immediately is not possible, consider the following temporary mitigations:

  • Remove or restrict any symlinks or junctions inside the media root directory that point outside the media root.
  • Limit network exposure of the development server by binding it to localhost only, as the dev server warns when exposed to non-localhost addresses and lacks authentication.
  • Monitor and restrict access to media endpoints to trusted users and networks.

How does this vulnerability affect compliance with common standards and regulations (like GDPR, HIPAA)?:

This vulnerability allows unauthorized access and modification of files outside the intended media root directory via symlink path traversal. Such unauthorized access to filesystem data can lead to breaches of confidentiality and integrity.

Because the vulnerability enables attackers to list, write, and delete files outside the authorized directory, it could result in exposure or alteration of sensitive personal or protected health information, which would negatively impact compliance with data protection regulations such as GDPR and HIPAA.

Specifically, the high confidentiality and integrity impact indicated by the CVSS score suggests that organizations using vulnerable versions of TinaCMS might fail to adequately protect sensitive data, thereby risking violations of these common standards and regulations.


Ask Our AI Assistant
Need more information? Ask your question to get an AI reply (Powered by our expertise)
0/70
EPSS Chart