<?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>@Profullstack/Mcp-Server (&lt;= 1.4.12) — CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/products/@profullstack/mcp-server--1.4.12/</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>Sat, 09 May 2026 00:42:12 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/products/@profullstack/mcp-server--1.4.12/feed.xml" rel="self" type="application/rss+xml"/><item><title>@profullstack/mcp-server OS Command Injection Vulnerability</title><link>https://feed.craftedsignal.io/briefs/2026-05-profullstack-rce/</link><pubDate>Sat, 09 May 2026 00:42:12 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-05-profullstack-rce/</guid><description>The @profullstack/mcp-server is vulnerable to OS Command Injection in the domain_lookup module, allowing unauthenticated remote attackers to execute arbitrary OS commands as the server process by injecting shell metacharacters into the domains/keywords parameters via the POST /domain-lookup/check and /domain-lookup/bulk endpoints.</description><content:encoded><![CDATA[<p>The <code>@profullstack/mcp-server</code> package is vulnerable to OS Command Injection within the <code>domain_lookup</code> module. Specifically, the application fails to sanitize user-provided input passed via the <code>domains</code> and <code>keywords</code> parameters to the <code>/domain-lookup/check</code> and <code>/domain-lookup/bulk</code> endpoints. This unsanitized input is then concatenated into a shell command string and executed using <code>execAsync()</code>. The server binds to <code>0.0.0.0</code> without global authentication middleware. This vulnerability, identified as CWE-78, allows unauthenticated remote attackers to inject arbitrary OS commands, potentially leading to complete system compromise. Version 1.4.12 and earlier are affected.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>An attacker sends a POST request to <code>/domain-lookup/check</code> or <code>/domain-lookup/bulk</code> with a crafted JSON payload.</li>
<li>The JSON payload contains a <code>domains</code> or <code>keywords</code> array, with malicious commands injected using shell metacharacters (e.g., <code>;</code>, <code>|</code>, <code>$()</code>).</li>
<li>The <code>buildTldxCommand()</code> function in <code>mcp_modules/domain_lookup/src/service.js</code> concatenates the attacker-controlled input directly into a command string without sanitization.</li>
<li>The resulting command string is passed to the <code>execAsync()</code> function.</li>
<li><code>execAsync()</code> executes the command using <code>/bin/sh</code>, interpreting the injected shell metacharacters.</li>
<li>Arbitrary OS commands are executed with the privileges of the server process.</li>
<li>The attacker can then perform actions such as reading sensitive files, creating new files, or establishing outbound network connections.</li>
<li>Successful exploitation results in unauthenticated remote code execution, potentially leading to full system compromise.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation of this vulnerability allows for unauthenticated remote code execution with the privileges of the server process. This could lead to full read/write access to any file the server process can access, potentially sensitive information disclosure, credential theft, persistence, and lateral movement within the network. The CVSS 3.1 score is 9.8 (Critical). This vulnerability is easily reproducible with a single unauthenticated HTTP POST request to either of the documented endpoints.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Upgrade to a patched version of <code>@profullstack/mcp-server</code> that addresses the command injection vulnerability.</li>
<li>Implement input validation on the <code>domains</code> and <code>keywords</code> parameters to reject any input containing shell metacharacters.</li>
<li>Use <code>child_process.execFile</code> or <code>spawn('tldx', [keyword1, keyword2, ...])</code> instead of <code>execAsync(command)</code> to avoid shell interpretation.</li>
<li>Deploy the Sigma rules provided in this brief to detect exploitation attempts targeting the affected endpoints and parameters.</li>
<li>Implement global authentication middleware to prevent anonymous access to HTTP-exposed modules.</li>
<li>Modify the server to bind to <code>127.0.0.1</code> by default to reduce the attack surface and require explicit opt-in for non-loopback bindings.</li>
</ul>
]]></content:encoded><category domain="severity">critical</category><category domain="type">advisory</category><category>command-injection</category><category>rce</category><category>web-application</category></item></channel></rss>