CVE-2026-8467 in phoenix_storybook
摘要
由 VulDB • 2026-05-20
phenixdigital phoenix_storybook 中存在代码注入漏洞,允许通过 HEEx 模板生成过程中未清理的属性值插值实现未经身份验证的远程代码执行。
'Elixir.PhoenixStorybook.Story.PlaygroundPreviewLive':handle_event/3 中的 psb-assign WebSocket 事件处理程序接受来自未经身份验证的客户端的任意属性名称和值。这些值被原样传递给 'Elixir.PhoenixStorybook.Helpers.ExtraAssignsHelpers':handle_set_variation_assign/3 进行存储。在渲染时,'Elixir.PhoenixStorybook.Rendering.ComponentRenderer':attributes_markup/1 将二进制属性值直接插值到 HEEx 模板字符串中,格式为 name="",且未对双引号或 HEEx 表达式分隔符进行转义。攻击者可以提供包含闭合引后跟 HEEx 表达式块的值(例如 foo" injected={EXPR} bar="),从而导致 EXPR 被视为内联 Elixir 表达式。生成的模板通过 EEx.compile_string/2 编译,并通过 Code.eval_quoted_with_env/3 执行,该执行环境包含完整的 Kernel 导入且无沙箱保护,从而使攻击者能够在服务器上执行任意代码。
此问题影响 phoenix_storybook 0.5.0 至 1.1.0 之前的版本。
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.