Description
Tina is a headless content management system. Prior to 2.1.2, TinaCMS allows users to create, update, and delete content documents using relative file paths (relativePath, newRelativePath) via GraphQL mutations. Under certain conditions, these paths are combined with the collection path using path.join() without validating that the resolved path remains within the collection root directory. Because path.join() does not prevent directory traversal, paths containing ../ sequences can escape the intended directory boundary. This vulnerability is fixed in 2.1.2.
Published: 2026-03-12
Score: 6.3 Medium
EPSS: < 1% Very Low
KEV: No
Impact: Path Traversal leading to unauthorized file access
Action: Apply Patch
AI Analysis

Impact

TinaCMS allows the creation, updating, and deleting of content documents via GraphQL mutations that accept relative file paths. The system combines these paths with the collection root using path.join() without validating that the resolved path remains inside the intended directory. Because path.join() does not prevent directory traversal, an attacker can supply paths containing '../' sequences to escape the collection boundary. This results in the ability to read or write files outside the intended content area, potentially exposing confidential data or modifying system files. The weakness is identified as CWE-22: Path Traversal.

Affected Systems

The vulnerability affects @tinacms:graphql packages in all releases before version 2.1.2. Users running any of these earlier releases are potentially vulnerable. The CPE for affected products is cpe:2.3:a:ssw:tinacms/graphql:*:*:*:*:*:node.js:*:*.

Risk and Exploitability

The CVSS score of 6.3 indicates a medium severity vulnerability, and the EPSS score of less than 1% suggests a low probability of exploitation in the near term. The vulnerability is not listed in the CISA KEV catalog. Exploitation requires the ability to execute GraphQL mutations, implying that an attacker must either be an authenticated user with builder or editor permissions, or that the GraphQL endpoint is otherwise accessible without authentication. The impact could be significant if the attacker gains access to critical files outside the collection directory. Given the moderate CVSS score and low EPSS, the risk is medium, but the potential harm warrants prompt remediation.

Generated by OpenCVE AI on March 18, 2026 at 14:37 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade @tinacms/graphql to version 2.1.2 or later.

Generated by OpenCVE AI on March 18, 2026 at 14:37 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-2238-xc5r-v9hj @tinacms/graphql has a Path Traversal issue
History

Fri, 13 Mar 2026 19:30:00 +0000

Type Values Removed Values Added
First Time appeared Ssw
Ssw tinacms\/graphql
CPEs cpe:2.3:a:ssw:tinacms\/graphql:*:*:*:*:*:node.js:*:*
Vendors & Products Ssw
Ssw tinacms\/graphql

Fri, 13 Mar 2026 10:00:00 +0000

Type Values Removed Values Added
First Time appeared Tina
Tina tinacms
Vendors & Products Tina
Tina tinacms

Thu, 12 Mar 2026 18:15:00 +0000

Type Values Removed Values Added
Metrics ssvc

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


Thu, 12 Mar 2026 17:00:00 +0000

Type Values Removed Values Added
Description Tina is a headless content management system. Prior to 2.1.2, TinaCMS allows users to create, update, and delete content documents using relative file paths (relativePath, newRelativePath) via GraphQL mutations. Under certain conditions, these paths are combined with the collection path using path.join() without validating that the resolved path remains within the collection root directory. Because path.join() does not prevent directory traversal, paths containing ../ sequences can escape the intended directory boundary. This vulnerability is fixed in 2.1.2.
Title Path Traversal in @tinacms/graphql
Weaknesses CWE-22
References
Metrics cvssV3_1

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


Subscriptions

Ssw Tinacms\/graphql
Tina Tinacms
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-03-12T17:55:19.636Z

Reserved: 2026-01-21T18:38:22.473Z

Link: CVE-2026-24125

cve-icon Vulnrichment

Updated: 2026-03-12T17:55:12.389Z

cve-icon NVD

Status : Analyzed

Published: 2026-03-12T17:16:39.233

Modified: 2026-03-13T19:22:04.353

Link: CVE-2026-24125

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-03-20T15:48:59Z

Weaknesses