<?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/" xmlns:webfeeds="http://webfeeds.org/rss/1.0"><channel><title>Appwrite - CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/tags/appwrite/</link><description>Trending threats, MITRE ATT&amp;CK coverage, and detection metadata. Fed continuously.</description><generator>Hugo</generator><language>en</language><managingEditor>hello@craftedsignal.io</managingEditor><webMaster>hello@craftedsignal.io</webMaster><lastBuildDate>Thu, 17 Sep 2026 17:58:59 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/tags/appwrite/feed.xml" rel="self" type="application/rss+xml"/><image><url>https://feed.craftedsignal.io/favicon-32x32.png</url><title>CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/</link><width>32</width><height>32</height></image><webfeeds:icon>https://feed.craftedsignal.io/favicon.svg</webfeeds:icon><item><title>CVE-2026-89036 Argument Injection in Appwrite</title><link>https://feed.craftedsignal.io/briefs/2026-09-appwrite-argument-injection/</link><pubDate>Thu, 17 Sep 2026 17:58:59 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-09-appwrite-argument-injection/</guid><description>Authenticated users can achieve remote code execution in Appwrite versions before 2.0.0 by exploiting an argument injection vulnerability via the providerRootDirectory parameter in GNU tar commands.</description><content:encoded><![CDATA[<p>Appwrite versions prior to 2.0.0 contain a critical argument injection vulnerability (CVE-2026-89036) that permits authenticated users with functions.write or sites.write permissions to achieve remote code execution (RCE). The vulnerability stems from the improper sanitization of the providerRootDirectory parameter, which is passed to system commands executing GNU tar. Specifically, the application utilizes the PHP function escapeshellcmd rather than escapeshellarg and fails to wrap the parameter in quotes. This allows an attacker to inject TAB characters, which bypass existing filters and are interpreted as argument separators by the underlying shell. By injecting arbitrary GNU tar arguments, such as --checkpoint-action=exec, an attacker can execute arbitrary code under the context of the builds worker process user. This vulnerability is particularly significant due to the elevated privileges afforded to the builds worker process, potentially allowing for full system compromise within the Appwrite environment.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>An attacker obtains or utilizes a valid account with 'functions.write' or 'sites.write' permissions.</li>
<li>The attacker interacts with the application API or UI to configure the 'providerRootDirectory' setting.</li>
<li>The attacker submits a specially crafted 'providerRootDirectory' payload containing one or more TAB characters (0x09) followed by malicious GNU tar flags.</li>
<li>The Appwrite application processes the input using 'escapeshellcmd', which fails to neutralize the injected TAB characters or prevent argument injection.</li>
<li>The application constructs a system command string including the tainted 'providerRootDirectory' parameter.</li>
<li>The shell executes the command, interpreting the TAB-separated segments as distinct arguments to the 'tar' binary.</li>
<li>The 'tar' binary processes the injected '--checkpoint-action=exec' flag.</li>
<li>The 'tar' utility spawns an external process to execute attacker-supplied commands, granting the attacker RCE as the 'builds worker' process user.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation allows for remote code execution on the server running the Appwrite 'builds worker' process. This could lead to full compromise of the affected Appwrite installation, unauthorized access to sensitive application data, exfiltration of environment variables or secrets, and the potential for lateral movement within the hosting infrastructure.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Upgrade Appwrite to version 2.0.0 or later immediately to patch the argument injection vulnerability.</li>
<li>Audit access logs for the 'functions.write' and 'sites.write' endpoints to identify suspicious attempts to modify configuration parameters containing control characters like TAB.</li>
<li>Monitor the 'builds worker' process for the spawning of unexpected child processes or command-line execution patterns associated with 'tar' flags such as '--checkpoint-action'.</li>
<li>Restrict permissions for users within the Appwrite console, ensuring the principle of least privilege is applied to those with configuration write access.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>vulnerability</category><category>rce</category><category>argument-injection</category><category>appwrite</category></item></channel></rss>