CVE-2026-47068
Cross-session PubSub topic injection via URL parameter in phoenix_storybook
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
| Module | Source File | Routine |
|---|---|---|
PhoenixStorybook.Story.ComponentIframeLive
|
lib/phoenix_storybook/live/story/component_iframe_live.ex
|
PhoenixStorybook.Story.ComponentIframeLive.handle_params/3
|
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
- https://github.com/phenixdigital/phoenix_storybook/security/advisories/GHSA-mrhx-6pw9-q5fh vendor-advisory related
- https://osv.dev/vulnerability/EEF-CVE-2026-47068 related
- https://github.com/phenixdigital/phoenix_storybook/commit/6ee03f1c738d4436dde1b066cf65c80663d489f5 patch
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