<?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>Grok-Faf-Mcp (&lt;= 1.5.2) - CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/products/grok-faf-mcp--1.5.2/</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>Wed, 19 Aug 2026 22:34:50 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/products/grok-faf-mcp--1.5.2/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>Path Traversal Vulnerability in grok-faf-mcp</title><link>https://feed.craftedsignal.io/briefs/2026-08-grok-faf-mcp-traversal/</link><pubDate>Wed, 19 Aug 2026 22:34:50 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-08-grok-faf-mcp-traversal/</guid><description>The grok-faf-mcp MCP server contains an arbitrary file read vulnerability via inadequate path validation, allowing attackers to access sensitive host files by injecting path traversal sequences into tool arguments.</description><content:encoded><![CDATA[<p>The <code>grok-faf-mcp</code> package, a Model Context Protocol (MCP) server, contains an arbitrary local file read vulnerability in versions 1.5.2 and earlier. The flaw resides in several tools, including <code>refresh_faf</code>, <code>faf_score</code>, and <code>faf_read</code>, which resolve caller-supplied <code>path</code> arguments without strictly confining them to a designated project directory. By leveraging absolute paths or directory traversal sequences (e.g., <code>../</code>), a remote attacker - or an LLM agent subject to prompt injection - can escape the intended project context and read any file accessible to the server process. This poses a severe risk of credential theft, including SSH keys, cloud provider configuration files, and environment variables. The vulnerability was disclosed by Zhihao Zhang and addressed in version 1.5.3, which introduces path canonicalization and restricted access to defined project directories.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>An attacker influences an LLM agent to interact with the vulnerable <code>grok-faf-mcp</code> server.</li>
<li>The attacker delivers a prompt injection payload containing a malicious file path argument (e.g., <code>../../../../../../etc/passwd</code> or <code>../../.ssh/id_rsa</code>).</li>
<li>The MCP server receives the tool call (e.g., <code>faf_read</code>) from the LLM client via stdio.</li>
<li>The internal <code>getProjectPath()</code> function fails to restrict the path, resolving the attacker-provided traversal to the filesystem root.</li>
<li>The server process opens the requested sensitive file based on the OS-level permissions of the user running the MCP process.</li>
<li>The server tool, such as <code>refresh_faf</code> or <code>faf_read</code>, transmits the contents of the target file back to the LLM agent as part of its response.</li>
<li>The attacker exfiltrates the sensitive data from the agent's output.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation allows for unauthorized disclosure of sensitive host information, including SSH private keys, cloud service credentials, environment files, and system configuration data. This primitive can lead to full host compromise if the server process is executed with high-privilege credentials or if the disclosed information provides access to further infrastructure.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Upgrade <code>grok-faf-mcp</code> to version 1.5.3 or higher via <code>npm install -g grok-faf-mcp@1.5.3</code>.</li>
<li>If an immediate upgrade is not possible, restrict the server execution environment by setting the <code>FAF_ALLOWED_ROOTS</code> environment variable to a single, hardened project directory to enforce a strict boundary.</li>
<li>Audit MCP server logs for unexpected file path arguments that contain traversal patterns (<code>../</code>) or point to sensitive system directories.</li>
<li>Audit the runtime permissions of the user account executing the MCP server process to ensure the principle of least privilege is applied, specifically limiting access to sensitive user directories like <code>.ssh</code> or <code>.aws</code>.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>mcp</category><category>path-traversal</category><category>information-disclosure</category></item></channel></rss>