<?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>Liquidjs (&lt; 10.26.0) — CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/products/liquidjs--10.26.0/</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, 27 May 2026 18:28:26 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/products/liquidjs--10.26.0/feed.xml" rel="self" type="application/rss+xml"/><item><title>LiquidJS Remote Code Execution Vulnerability</title><link>https://feed.craftedsignal.io/briefs/2026-05-liquidjs-rce/</link><pubDate>Wed, 27 May 2026 18:28:26 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-05-liquidjs-rce/</guid><description>A remote code execution vulnerability exists in LiquidJS versions prior to 10.26.0, where crafted templates can execute arbitrary code by manipulating the `valueOf` filter and leveraging function calls via a comparable gadget.</description><content:encoded><![CDATA[<p>A remote code execution vulnerability has been identified in LiquidJS, a template engine for JavaScript. This vulnerability, affecting versions prior to 10.26.0, allows attackers to execute arbitrary code by crafting malicious templates. The exploit involves manipulating the <code>valueOf</code> filter to gain access to the template context and then leveraging function calls through a comparable gadget. By overwriting key functions like <code>this.loader.lookup</code> and <code>this.readFile</code>, attackers can control the parsing process and ultimately obtain a reference to the <code>Function</code> constructor, enabling arbitrary code execution. This vulnerability poses a significant risk to applications using vulnerable versions of LiquidJS, potentially leading to complete system compromise. The vulnerability was published on 2026-05-27.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>The attacker crafts a LiquidJS template containing malicious code.</li>
<li>The template uses the <code>valueOf</code> filter to gain access to the template context (<code>this</code>).</li>
<li>The attacker leverages the <code>group_by</code> filter to call functions via the comparable gadget.</li>
<li>The attacker uses <code>storeFn</code> to assign values within the template, targeting <code>fs.readFileSync</code>.</li>
<li>The attacker overwrites <code>this.loader.lookup</code> and <code>this.readFile</code> to control file parsing.</li>
<li>A reference to the <code>Function</code> constructor is obtained through manipulated filters.</li>
<li>The attacker crafts a payload to execute arbitrary code using the <code>Function</code> constructor.</li>
<li>The payload is executed, resulting in remote code execution on the server.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation of this vulnerability allows attackers to execute arbitrary code on systems running vulnerable versions of LiquidJS (versions prior to 10.26.0). This can lead to complete system compromise, including data theft, modification, or destruction, as well as the potential for lateral movement within the network. Given the critical nature of remote code execution, any application using LiquidJS is at high risk.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Upgrade LiquidJS to version 10.26.0 or later to patch CVE-2026-45618.</li>
<li>Deploy the Sigma rule &ldquo;Detect LiquidJS RCE via Template Injection&rdquo; to identify exploitation attempts within your environment.</li>
<li>Sanitize user-supplied templates to prevent injection of malicious code.</li>
<li>Implement strict input validation to prevent attackers from controlling template content.</li>
</ul>
]]></content:encoded><category domain="severity">critical</category><category domain="type">advisory</category><category>rce</category><category>template-injection</category><category>liquidjs</category></item></channel></rss>