Vulnerability 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

pkg:hex/phoenix_storybook

Status Type Version Changes / Fixed in
affected semver 0.4.0 < 1.1.0

pkg:github/phenixdigital/phoenix_storybook

Module Source File Routine
PhoenixStorybook.Story.ComponentIframeLive lib/phoenix_storybook/live/story/component_iframe_live.ex PhoenixStorybook.Story.ComponentIframeLive.handle_params/3
Status Type Version Changes / Fixed in
affected git 8c2c97b0f5 < 6ee03f1c73

References

Credits

  • Finder: Peter Ullrich
  • Remediation developer: Christian Blavier
  • Analyst: Jonatan Männchen

CVE record as JSON:  GET /cves/CVE-2026-47068.json
OSV record as JSON:  GET /osv/EEF-CVE-2026-47068.json