<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Tinacms — CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/tags/tinacms/</link><description>Trending threats, MITRE ATT&amp;CK coverage, and detection metadata — refreshed continuously.</description><generator>Hugo</generator><language>en</language><managingEditor>hello@craftedsignal.io</managingEditor><webMaster>hello@craftedsignal.io</webMaster><lastBuildDate>Mon, 30 Mar 2026 17:11:02 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/tags/tinacms/feed.xml" rel="self" type="application/rss+xml"/><item><title>TinaCMS GraphQL Path Traversal Vulnerability</title><link>https://feed.craftedsignal.io/briefs/2026-04-tinacms-path-traversal/</link><pubDate>Mon, 30 Mar 2026 17:11:02 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-04-tinacms-path-traversal/</guid><description>A path traversal vulnerability in @tinacms/graphql allows unauthenticated users to write and overwrite arbitrary files within the project root by manipulating the relativePath parameter in GraphQL mutations, leading to potential arbitrary code execution.</description><content:encoded><![CDATA[<p>A path traversal vulnerability has been identified in versions 2.2.1 and earlier of <code>@tinacms/graphql</code>, a GraphQL API for TinaCMS. This flaw enables unauthenticated attackers to write and overwrite arbitrary files within the project root directory. The vulnerability stems from insufficient validation of the <code>relativePath</code> parameter within GraphQL mutations. By exploiting this weakness, attackers can overwrite critical server configuration files like <code>package.json</code> and <code>tsconfig.json</code>, inject malicious scripts into the <code>public/</code> directory, and even achieve arbitrary code execution by modifying build scripts or server-side logic files. This vulnerability poses a significant risk to systems utilizing vulnerable versions of <code>@tinacms/graphql</code>.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>An attacker identifies a TinaCMS instance running a vulnerable version of <code>@tinacms/graphql</code> (&lt;= 2.2.1).</li>
<li>The attacker crafts a malicious GraphQL mutation request targeting the <code>updateDocument</code> mutation.</li>
<li>Within the mutation, the attacker manipulates the <code>relativePath</code> parameter to include a path traversal sequence, such as <code>x\\\\..\\\\..\\\\..\\\\package.json</code>. The backslashes are misinterpreted on non-Windows systems.</li>
<li>The vulnerable <code>getValidatedPath</code> function fails to properly sanitize the malicious path due to the backslash bypass on non-Windows platforms.</li>
<li>The request is processed, and the server attempts to write to the attacker-specified file path.</li>
<li>The file system API resolves the path traversal sequence, leading to a write operation outside the intended directory.</li>
<li>The attacker overwrites a critical file, such as <code>package.json</code>, with malicious content.</li>
<li>The server or build process executes the modified file, resulting in arbitrary code execution or other malicious behavior.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation of this vulnerability allows unauthenticated attackers to perform arbitrary file writes, leading to several critical consequences. Attackers can overwrite server configuration files, inject malicious scripts for client-side attacks, and achieve arbitrary code execution by modifying build scripts or server-side logic. The impact ranges from denial of service to complete system compromise. While the exact number of affected systems is unknown, all TinaCMS instances running <code>@tinacms/graphql</code> version 2.2.1 or earlier are susceptible.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Upgrade <code>@tinacms/graphql</code> to a patched version (later than 2.2.1) to remediate CVE-2026-33949.</li>
<li>Deploy the Sigma rule <code>Detect TinaCMS GraphQL Path Traversal Attempt</code> to identify attempted exploitation of the vulnerability.</li>
<li>Monitor web server logs for POST requests to the <code>/graphql</code> endpoint containing suspicious <code>relativePath</code> parameters.</li>
<li>Implement strict input validation and sanitization for file paths within GraphQL mutations, regardless of the underlying operating system.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>path-traversal</category><category>graphql</category><category>tinacms</category><category>arbitrary-file-write</category></item></channel></rss>