<?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>Phoenix_storybook (&gt;= 0.5.0, &lt; 1.1.0) - CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/products/phoenix_storybook--0.5.0--1.1.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>Sun, 14 Jun 2026 13:33:49 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/products/phoenix_storybook--0.5.0--1.1.0/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>Critical Unauthenticated RCE in PhoenixStorybook via HEEx Template Injection (CVE-2026-8467)</title><link>https://feed.craftedsignal.io/briefs/2026-06-phoenixstorybook-rce/</link><pubDate>Sun, 14 Jun 2026 13:33:49 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-06-phoenixstorybook-rce/</guid><description>A critical unauthenticated remote code execution vulnerability (CVE-2026-8467) in Phenix Digital's `phoenix_storybook` versions 0.5.0 through 1.0.x allows attackers to inject arbitrary Elixir code via unsanitized WebSocket input, leading to OS command execution.</description><content:encoded><![CDATA[<p>A critical unauthenticated remote code execution vulnerability, identified as CVE-2026-8467, affects Phenix Digital's <code>phoenix_storybook</code> library, specifically versions from 0.5.0 up to, but not including, 1.1.0. This flaw lies within the <code>phoenix_storybook</code> playground's handling of HEEx templates, allowing unauthenticated attackers to inject arbitrary Elixir code into a server-side template. The vulnerability leverages unsanitized user-controlled attributes passed via WebSocket connections, leading to direct code execution with full <code>Kernel</code> access. This permits attackers to execute arbitrary operating system commands on the compromised server. The vulnerability requires no authentication or special configuration, making it highly exploitable, especially if the storybook interface is exposed publicly. This poses a severe risk to organizations using affected versions, enabling complete system compromise.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li><strong>Initial Access</strong>: An unauthenticated attacker identifies a <code>phoenix_storybook</code> instance running versions between 0.5.0 and 1.0.x (e.g., at <code>/storybook/core_components/button</code>) exposed publicly or internally.</li>
<li><strong>WebSocket Connection</strong>: The attacker establishes an unauthenticated WebSocket connection to the Phoenix LiveView channel associated with the identified story's Playground tab.</li>
<li><strong>Malicious Input</strong>: The attacker sends a <code>psb-assign</code> event via the WebSocket. This event contains a crafted attribute value designed to escape the HEEx attribute context and embed arbitrary Elixir expressions.</li>
<li><strong>Unsanitized Interpolation</strong>: The <code>PhoenixStorybook.Story.PlaygroundPreviewLive</code> component accepts the arbitrary attribute names and values. The <code>ComponentRenderer.attributes_markup/1</code> function then directly interpolates this unsanitized binary value into a HEEx template string (e.g., <code>~s|#{name}=&quot;#{val}&quot;|</code>).</li>
<li><strong>Code Injection</strong>: The crafted attribute value uses Elixir's interpolation syntax (e.g., <code>foo&quot; injected={EXPR} bar=&quot;</code>) to inject a malicious Elixir expression (<code>EXPR</code>) within the HEEx template, bypassing any escaping.</li>
<li><strong>Unsandboxed Compilation</strong>: The server compiles the resulting HEEx string (containing the injected Elixir code) via <code>EEx.compile_string/2</code>.</li>
<li><strong>Unsandboxed Evaluation</strong>: The compiled code is then evaluated using <code>Code.eval_quoted_with_env/3</code> with full <code>Kernel</code> imports and no sandboxing, allowing the malicious Elixir expression to execute.</li>
<li><strong>Remote Code Execution</strong>: The injected Elixir expression, typically a <code>System.cmd/2</code> call (e.g., <code>System.cmd(&quot;bash&quot;, [&quot;-c&quot;, &quot;whoami&quot;])</code>), executes arbitrary operating system commands on the server with the privileges of the Elixir application process, leading to full system compromise.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>This pre-authentication remote code execution vulnerability allows any unauthenticated user who can reach the <code>phoenix_storybook</code> endpoint to execute arbitrary operating system commands. If the storybook is publicly exposed, internet-facing systems are vulnerable to complete compromise. Successful exploitation grants the attacker full control over the affected server, enabling data exfiltration, deployment of further malware, persistence mechanisms, or integration into botnets. All versions of <code>phoenix_storybook</code> from 0.5.0 before 1.1.0 are vulnerable, potentially impacting a wide range of Elixir applications leveraging this library.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Immediately patch <code>phoenix_storybook</code> to version 1.1.0 or later to address CVE-2026-8467.</li>
<li>Deploy the provided Sigma rules to your SIEM and tune for your environment to detect post-exploitation activity resulting from CVE-2026-8467.</li>
<li>Implement strict network segmentation to restrict access to development/storybook environments, ensuring they are not publicly exposed.</li>
<li>Enable comprehensive <code>process_creation</code> logging on Linux servers running Elixir applications, specifically monitoring for unusual child processes spawned by the <code>beam.smp</code> process.</li>
</ul>
]]></content:encoded><category domain="severity">critical</category><category domain="type">advisory</category><category>rce</category><category>web-vulnerability</category><category>elixir</category><category>phoenix</category><category>websocket</category><category>template-injection</category><category>linux</category></item></channel></rss>