<?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>@Prompty/Core (&lt;= 0.1.4) - CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/products/@prompty/core--0.1.4/</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>Fri, 24 Jul 2026 16:30:25 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/products/@prompty/core--0.1.4/feed.xml" rel="self" type="application/rss+xml"/><item><title>Server-Side Template Injection to Remote Code Execution in @prompty/core Nunjucks Renderer</title><link>https://feed.craftedsignal.io/briefs/2026-07-prompty-ssti-rce/</link><pubDate>Fri, 24 Jul 2026 16:30:25 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-07-prompty-ssti-rce/</guid><description>A critical server-side template injection vulnerability exists in the @prompty/core Nunjucks renderer, affecting versions &lt;= 0.1.4 and &gt;= 2.0.0-alpha.1 up to &lt;= 2.0.0-beta.4. This flaw allows an attacker to execute arbitrary JavaScript code within the host Node.js process by crafting malicious `.prompty` template bodies. The renderer's unrestricted JavaScript member access permits traversal of constructor and prototype properties, leading to remote code execution when rendering untrusted, community-supplied, cloned, or LLM-generated `.prompty` files.</description><content:encoded><![CDATA[<p>A critical server-side template injection (SSTI) vulnerability, tracked as GHSA-w28w-gp39-m4p6, has been identified in the <code>@prompty/core</code> Nunjucks renderer library for Node.js applications. This vulnerability impacts versions <code>&lt;= 0.1.4</code> and <code>2.0.0-alpha.1</code> up to <code>&lt;= 2.0.0-beta.4</code>. The flaw stems from the renderer's evaluation of untrusted <code>.prompty</code> template bodies with unrestricted JavaScript member access. Attackers can exploit this by crafting malicious template content that traverses constructor and prototype properties, enabling arbitrary JavaScript code execution within the host Node.js process. This poses a significant risk to applications that process or render untrusted, community-supplied, cloned, or Large Language Model (LLM)-generated <code>.prompty</code> files, as it can lead to full remote code execution with the privileges of the underlying Node.js application.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>An attacker crafts a malicious <code>.prompty</code> template body containing Nunjucks SSTI payloads designed to exploit JavaScript member access.</li>
<li>The attacker delivers this malicious template to a vulnerable application using the <code>@prompty/core</code> renderer.</li>
<li>The vulnerable application ingests and attempts to render the untrusted <code>.prompty</code> file.</li>
<li>During rendering, the <code>@prompty/core</code> Nunjucks renderer evaluates the template body, which includes the attacker's payload.</li>
<li>Due to unrestricted JavaScript member access, the payload successfully traverses constructor and prototype properties of JavaScript objects within the Node.js runtime.</li>
<li>This traversal allows the attacker to execute arbitrary JavaScript code within the context of the host Node.js process.</li>
<li>Remote Code Execution (RCE) is achieved, giving the attacker control over the server with the application's privileges.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Applications that utilize the <code>@prompty/core</code> library and render untrusted <code>.prompty</code> files are at severe risk. A successful exploitation of this critical vulnerability leads to remote code execution (RCE) on the server. Attackers can leverage this access to steal sensitive data, deploy further malware, establish persistence, or completely compromise the affected system. The impact extends to any data managed by the Node.js application and the underlying operating system. The vulnerability's severity is critical due to the direct path from untrusted input to arbitrary code execution, potentially affecting a broad range of applications that integrate with external template sources, such as those involving user-generated content or LLM integrations.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Upgrade all instances of <code>@prompty/core</code> to version <code>2.0.0-beta.5</code> or later immediately to apply the security patch. The patched renderer sanitizes render inputs, rejects constructor/prototype member traversal, and disallows template function calls, while maintaining support for ordinary interpolation, conditionals, loops, and own nested data properties.</li>
</ul>
]]></content:encoded><category domain="severity">critical</category><category domain="type">advisory</category><category>server-side-template-injection</category><category>remote-code-execution</category><category>nodejs</category><category>npm</category><category>vulnerability</category></item></channel></rss>