Skip to content
CVE PROGRAM SOURCE RECORD2.3 Low

CVE-2026-47068

Cross-session PubSub topic injection via URL parameter in phoenix_storybook

Description

Authorization Bypass Through User-Controlled Key vulnerability in phenixdigital phoenix_storybook allows cross-session PubSub topic injection via a URL query parameter. 'Elixir.PhoenixStorybook.Story.ComponentIframeLive':handle_params/3 in lib/phoenix_storybook/live/story/component_iframe_live.ex reads a PubSub topic directly from params["topic"] and broadcasts {:component_iframe_pid, self()} on it with no check that the topic belongs to the requesting session. The shared PhoenixStorybook.PubSub is used to coordinate playground LiveViews with their iframes: a playground subscribes to a session-specific topic and uses the received iframe pid to direct subsequent control messages (variation state, theme switches, extra-assign payloads) via send/2. Because the iframe trusts the query parameter, an attacker who loads /storybook/iframe/<story>?topic=<victim_topic> causes their iframe process pid to be announced on the victim's topic. The victim's playground then addresses its private messages to the attacker's iframe process. This issue affects phoenix_storybook from 0.4.0 before 1.1.0.

Affected products

Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.

phenixdigital phoenix_storybook

Default version status: unaffected

  • 0.4.0 to < 1.1.0affected
pkg:hex/phoenix_storybook

phenixdigital phoenix_storybook

Default version status: unaffected

  • 8c2c97b0f505780fee4069988bf86736f51d35d7 to < 6ee03f1c738d4436dde1b066cf65c80663d489f5affected
pkg:github/phenixdigital/phoenix_storybook

References