<?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>Evomap — CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/vendors/evomap/</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>Tue, 09 Jan 2024 10:00:00 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/vendors/evomap/feed.xml" rel="self" type="application/rss+xml"/><item><title>Evolver Remote Code Execution via Command Injection in `_extractLLM()`</title><link>https://feed.craftedsignal.io/briefs/2024-01-09-evolver-rce/</link><pubDate>Tue, 09 Jan 2024 10:00:00 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2024-01-09-evolver-rce/</guid><description>A command injection vulnerability in the `_extractLLM()` function of the evolver application allows remote attackers to execute arbitrary shell commands by injecting shell metacharacters into the `corpus` parameter, leading to potential system compromise.</description><content:encoded><![CDATA[<p>A command injection vulnerability exists in the <code>_extractLLM()</code> function within the <code>src/gep/signals.js</code> file of the evolver application, specifically in versions prior to 1.69.3. The vulnerability stems from the function&rsquo;s construction of a <code>curl</code> command via string concatenation, incorporating the <code>corpus</code> parameter without sufficient sanitization. This parameter, derived from user input through the <code>extractSignals()</code> function, is susceptible to shell command substitution using the <code>$(...)</code> syntax when processed by <code>execSync()</code>. Successful exploitation grants attackers the ability to execute arbitrary shell commands within the context of the Node.js process. This flaw poses a significant risk, potentially leading to full system compromise, data exfiltration, or the installation of malicious software.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>An attacker crafts a malicious input string containing shell metacharacters (e.g., <code>$(...)</code>).</li>
<li>This malicious string is passed as the <code>userSnippet</code> parameter to the <code>extractSignals()</code> function within <code>src/gep/evolver.js</code>.</li>
<li>The <code>extractSignals()</code> function processes the user snippet and extracts a summary.</li>
<li>The extracted summary, which includes the malicious payload, is passed as the <code>corpus</code> parameter to the vulnerable <code>_extractLLM()</code> function in <code>src/gep/signals.js</code>.</li>
<li>The <code>_extractLLM()</code> function constructs a <code>curl</code> command by concatenating strings, embedding the unsanitized <code>corpus</code> parameter within the command string.</li>
<li>The <code>curl</code> command is executed using <code>execSync()</code>, which interprets the shell metacharacters and executes the injected commands.</li>
<li>The injected commands are executed with the privileges of the Node.js process.</li>
<li>The attacker achieves remote code execution, enabling them to perform actions such as data exfiltration or system compromise.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation of this vulnerability allows an attacker to execute arbitrary commands on the server hosting the evolver application. This can lead to full system compromise, allowing attackers to steal sensitive data, install malware, or pivot to other systems on the network. The vulnerability affects anyone running the evolver with the GEP (Genetic Evolution Protocol) enabled and processing user-provided content. The affected package is npm/@evomap/evolver (vulnerable: &lt; 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 patch the vulnerability.</li>
<li>Deploy the Sigma rule &ldquo;Detect Evolver Command Injection Attempt&rdquo; to identify attempts to exploit this vulnerability by detecting shell metacharacters in process execution logs.</li>
<li>Review and sanitize all user-provided content before it is processed by the <code>extractSignals()</code> and <code>_extractLLM()</code> functions.</li>
<li>Implement strict input validation to prevent shell metacharacters from reaching the vulnerable code.</li>
</ul>
]]></content:encoded><category domain="severity">critical</category><category domain="type">advisory</category><category>command-injection</category><category>rce</category><category>evolver</category></item></channel></rss>