<?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>Arbitrary-File-Write — CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/tags/arbitrary-file-write/</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>Wed, 15 Apr 2026 12:00:00 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/tags/arbitrary-file-write/feed.xml" rel="self" type="application/rss+xml"/><item><title>Zarf Path Traversal Vulnerability via Malicious Package Metadata.Name</title><link>https://feed.craftedsignal.io/briefs/2026-04-15-zarf-path-traversal/</link><pubDate>Wed, 15 Apr 2026 12:00:00 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-04-15-zarf-path-traversal/</guid><description>Zarf is vulnerable to path traversal due to insufficient sanitization of the Metadata.Name field in package manifests when using the `zarf package inspect sbom` or `zarf package inspect documentation` commands, potentially leading to arbitrary file write.</description><content:encoded><![CDATA[<p>Zarf, a tool for air-gapped deployments, is susceptible to a path traversal vulnerability (CVE-2026-40090) affecting versions prior to v0.74.2. The vulnerability stems from inadequate sanitization of the <code>Metadata.Name</code> field within Zarf package manifests. When a user employs the <code>zarf package inspect sbom</code> or <code>zarf package inspect documentation</code> commands on an untrusted package, the tool constructs output file paths by concatenating a user-controlled output directory with the package&rsquo;s <code>Metadata.Name</code> field. A malicious actor can craft a Zarf package with a manipulated <code>Metadata.Name</code> containing path traversal sequences (e.g., <code>../../</code>), enabling arbitrary file write capabilities within the permissions of the user running the <code>inspect</code> command. This vulnerability allows attackers to write to locations they control, potentially leading to privilege escalation or system compromise.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>Attacker crafts a malicious Zarf package.</li>
<li>The attacker modifies the <code>zarf.yaml</code> manifest within the package to include a <code>Metadata.Name</code> field containing path traversal sequences (e.g., <code>../../../../tmp/evil</code>).</li>
<li>The attacker repacks the Zarf package, recalculating checksums if necessary.</li>
<li>The attacker distributes the malicious Zarf package.</li>
<li>A victim user downloads the malicious Zarf package.</li>
<li>The victim executes <code>zarf package inspect sbom --output-dir /tmp &lt;malicious-package.tar.zst&gt;</code> or <code>zarf package inspect documentation --output-dir /tmp &lt;malicious-package.tar.zst&gt;</code>.</li>
<li>Zarf extracts the <code>Metadata.Name</code> from the <code>zarf.yaml</code> file.</li>
<li>Zarf constructs an output path by joining the user-specified output directory (/tmp) with the malicious <code>Metadata.Name</code> (<code>../../../../tmp/evil</code>), resulting in <code>/tmp/../../../../tmp/evil</code>. The tool attempts to write the SBOM or documentation data to this path, resulting in writing the file to <code>/tmp/evil</code>. This allows attackers to write files such as SSH authorized keys, cron jobs, or shell profiles.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation of this vulnerability allows an attacker to write arbitrary files to the file system, limited by the permissions of the user running the <code>zarf package inspect</code> command. This can lead to several critical consequences: privilege escalation by writing to authorized_keys files, arbitrary code execution by writing cron jobs, or persistent compromise by writing to shell profiles. This vulnerability affects users running the <code>zarf package inspect sbom</code> or <code>zarf package inspect documentation</code> command on untrusted packages. The affected packages are go/github.com/zarf-dev/zarf versions &gt;= 0.23.0 and &lt; 0.74.2.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Upgrade Zarf to version v0.74.2 or later to patch CVE-2026-40090.</li>
<li>Avoid inspecting unsigned Zarf packages as a workaround until the upgrade is complete, as mentioned in the advisory.</li>
<li>Deploy the Sigma rule &ldquo;Detect Zarf Package Inspection with Path Traversal&rdquo; to identify attempts to exploit this vulnerability via command-line arguments.</li>
<li>Monitor file creation events in sensitive directories (e.g., <code>/home/$USER/.ssh</code>, <code>/etc/cron.d</code>) for files created by the zarf binary using the &ldquo;Detect Zarf Arbitrary File Write&rdquo; Sigma rule.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>zarf</category><category>path-traversal</category><category>arbitrary-file-write</category><category>package-inspection</category><category>linux</category></item><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><item><title>Gigabyte Control Center Arbitrary File Write Vulnerability</title><link>https://feed.craftedsignal.io/briefs/2026-03-gigabyte-file-write/</link><pubDate>Mon, 30 Mar 2026 08:16:18 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-03-gigabyte-file-write/</guid><description>Gigabyte Control Center has an Arbitrary File Write vulnerability (CVE-2026-4415) that allows unauthenticated remote attackers to write arbitrary files to any location on the underlying operating system, leading to arbitrary code execution or privilege escalation.</description><content:encoded><![CDATA[<p>The Gigabyte Control Center application is vulnerable to an arbitrary file write vulnerability, identified as CVE-2026-4415. The vulnerability exists because when the &ldquo;pairing&rdquo; feature is enabled, it allows unauthenticated remote attackers to write arbitrary files to any location on the underlying operating system. This issue was reported on March 30, 2026. Successful exploitation could allow attackers to achieve arbitrary code execution or escalate privileges on the affected system. This poses…</p>
]]></content:encoded><category domain="severity">critical</category><category domain="type">advisory</category><category>cve-2026-4415</category><category>arbitrary-file-write</category><category>privilege-escalation</category><category>code-execution</category><category>gigabyte</category></item><item><title>Evolver Path Traversal Vulnerability in `fetch` Command</title><link>https://feed.craftedsignal.io/briefs/2024-08-evolver-path-traversal/</link><pubDate>Sat, 10 Aug 2024 12:00:00 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2024-08-evolver-path-traversal/</guid><description>A path traversal vulnerability exists in the `fetch` command of `@evomap/evolver` due to insufficient validation of the `--out` flag, allowing attackers to write files to arbitrary locations on the filesystem, potentially leading to overwriting critical system files and privilege escalation.</description><content:encoded><![CDATA[<p>The <code>@evomap/evolver</code> package contains a path traversal vulnerability in its <code>fetch</code> command, specifically affecting versions prior to 1.69.3. This flaw arises from the insufficient validation of user-supplied paths provided via the <code>--out</code> flag. By manipulating this flag, attackers can bypass intended directory restrictions and write files to arbitrary locations on the filesystem. This can lead to critical system file modification, potentially leading to privilege escalation and persistent backdoor installation. The vulnerability exists in the <code>index.js</code> file, where the application processes the <code>--out</code> flag without proper sanitization before writing files to the specified directory. This is particularly concerning in automated environments like CI/CD pipelines where user input might be indirectly injected into the <code>fetch</code> command.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>The attacker gains control over the input to the <code>fetch</code> command, including the <code>--out</code> flag.</li>
<li>The attacker crafts a malicious <code>--out</code> parameter containing path traversal sequences (e.g., <code>../../../</code>).</li>
<li>The <code>fetch</code> command in <code>index.js</code> processes the <code>--out</code> flag and extracts the user-provided path without validation.</li>
<li>The application attempts to create the directory specified by the manipulated <code>--out</code> flag using <code>fs.mkdirSync</code> with the <code>recursive</code> option.</li>
<li>The application writes files (e.g., downloaded skill files) to the directory specified in the <code>--out</code> parameter using <code>fs.writeFileSync</code>, effectively writing to an arbitrary location.</li>
<li>If the attacker has sufficient privileges, they can overwrite critical system files or create new files in sensitive directories like <code>/etc/cron.d</code>.</li>
<li>The attacker leverages the modified files to achieve persistence (e.g., by creating a cron job).</li>
<li>The attacker executes malicious code, gaining unauthorized access or escalating privileges.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation of this vulnerability allows an attacker to write files to arbitrary locations on the filesystem. This can lead to several critical consequences, including overwriting system configuration files, installing persistent backdoors via cron jobs, modifying SSH authorized_keys for unauthorized access, and potentially achieving privilege escalation if the affected process runs with elevated privileges. The impact is particularly severe in automated environments where this tool is used to deploy code, as it opens the door for supply chain attacks. This issue affects users of <code>@evomap/evolver</code> prior to version 1.69.3.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Upgrade the <code>@evomap/evolver</code> package to version 1.69.3 or later to remediate the path traversal vulnerability.</li>
<li>Deploy the Sigma rule <code>Detect Evolver Path Traversal Attempt</code> to identify exploitation attempts based on command-line arguments.</li>
<li>Monitor process creation events for command-line arguments containing path traversal sequences like <code>../</code> when executing <code>node</code> or <code>nodejs</code> related to evolver.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>path-traversal</category><category>arbitrary-file-write</category><category>privilege-escalation</category><category>evolver</category></item><item><title>i18next-fs-backend Path Traversal Vulnerability</title><link>https://feed.craftedsignal.io/briefs/2024-01-25-i18next-fs-backend-path-traversal/</link><pubDate>Thu, 25 Jan 2024 12:00:00 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2024-01-25-i18next-fs-backend-path-traversal/</guid><description>i18next-fs-backend versions before 2.6.4 are vulnerable to path traversal due to insufficient sanitization of the lng and ns values, potentially allowing attackers to read arbitrary files, overwrite files, or execute code if .js or .ts locale files are in use.</description><content:encoded><![CDATA[<p>The i18next-fs-backend library, a file system backend for the i18next internationalization framework, is vulnerable to a path traversal attack in versions prior to 2.6.4. This vulnerability arises from the unsanitized use of the <code>lng</code> (language) and <code>ns</code> (namespace) parameters when constructing file paths for loading and writing locale files. If an application exposes the language code to user input, an attacker can craft a malicious <code>lng</code> or <code>ns</code> value containing directory traversal sequences (e.g., <code>../</code>) to escape the intended locale directory. Successful exploitation can lead to arbitrary file read, arbitrary file overwrite, and, if <code>.js</code> or <code>.ts</code> files are used for localization, arbitrary code execution. This vulnerability highlights the importance of input validation, especially when constructing file paths from user-controlled data. The vulnerability was patched in version 2.6.4.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>An attacker identifies an application using a vulnerable version of <code>i18next-fs-backend</code> (versions prior to 2.6.4) and exposes the language code to user input via query parameters (e.g., <code>?lng=</code>), cookies, or request headers.</li>
<li>The attacker crafts a malicious <code>lng</code> value containing directory traversal sequences, such as <code>../../../../etc</code>, to target sensitive files outside the intended locale directory.</li>
<li>The attacker sends a request to the application with the crafted <code>lng</code> parameter.</li>
<li>The application passes the unsanitized <code>lng</code> value to the <code>i18next.t()</code> function.</li>
<li>The <code>i18next-fs-backend</code> library interpolates the malicious <code>lng</code> value into the <code>loadPath</code> configuration option, without proper validation.  For example, <code>loadPath: '/locales/{{lng}}/{{ns}}.json'</code> becomes <code>/locales/../../../../etc/{{ns}}.json</code>.</li>
<li>The backend attempts to read the file specified by the crafted path (e.g., <code>/etc/passwd</code>).</li>
<li>If successful, the contents of the targeted file are returned as a translation resource, potentially exposing sensitive information. If the attacker crafted the <code>lng</code> or <code>ns</code> value to point to a <code>.js</code> or <code>.ts</code> file containing malicious code, the backend will execute the file using <code>eval()</code>, leading to arbitrary code execution on the server.</li>
<li>Alternatively, if the application attempts to write a missing translation key using the crafted path (via <code>addPath</code>), the attacker could overwrite arbitrary files on the system, potentially leading to application compromise.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation of this vulnerability can have severe consequences. Arbitrary file read allows attackers to access sensitive data, such as configuration files, database credentials, or application source code. Arbitrary file overwrite can lead to application malfunction or complete compromise. If the application uses <code>.js</code> or <code>.ts</code> files for localization and the attacker is able to inject malicious code into those files through path traversal, arbitrary code execution can result, potentially allowing the attacker to gain full control of the server. The number of victims depends on the popularity and configuration of applications using the vulnerable <code>i18next-fs-backend</code> library.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Upgrade to <code>i18next-fs-backend</code> version 2.6.4 or later to patch the path traversal vulnerability as this version introduces the <code>isSafePathSegment</code> and <code>interpolatePath</code> functions to sanitize the path.</li>
<li>If upgrading is not immediately feasible, sanitize the <code>lng</code> and <code>ns</code> values at the application boundary before passing them to <code>i18next</code>. Reject values containing <code>..</code>, <code>/</code>, <code>\</code>, control characters, and limit the length to prevent path traversal as mentioned in the advisory.</li>
<li>If using <code>.js</code> or <code>.ts</code> locale files, carefully review them for any suspicious or unexpected code. The advisory highlights that these files must be treated as trusted code.</li>
<li>Monitor web server logs for suspicious requests containing directory traversal sequences in the <code>lng</code> or <code>ns</code> parameters. Deploy the first Sigma rule for this purpose.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>path-traversal</category><category>i18next</category><category>arbitrary-file-read</category><category>arbitrary-file-write</category><category>code-execution</category></item></channel></rss>