CVE-2026-114125 json
Storybook: Missing origin validation in Storybook preview allows code injection from malicious websites
published 19d ago modified 12d ago also EUVD-2026-107393 , GHSA-f2ph-cmg5-wxc8
- cvss
- 8.6
- version 4.0, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.4%
- EPSS 0.4% chance of exploitation in 30 days, percentile 32%
- public exploits
- 0
- none known
Summary
Storybook is a frontend workshop for building user interface components and pages in isolation. From 8.0.0 until 8.6.19, 9.1.21, 10.6.2, and 11.0.0-alpha.6, a malicious website can interact with the preview of a running Storybook development server. Insufficient iframe embedding and message-origin restrictions can allow attacker-controlled events to reach the running preview. A developer must visit the malicious website and interact with the injected interface. The attack can cause unauthorized changes to story files and, if a changed file is later executed by a local runtime, arbitrary code execution with the developer's privileges. This issue is fixed in 8.6.19, 9.1.21, 10.6.2, and 11.0.0-alpha.6.
Patch / fix
- npm storybook 8.6.19, 9.1.21, 10.6.2, 11.0.0-alpha.6
- npm @storybook/core 8.6.19
- npm @storybook/core-server 8.6.19
- npm @storybook/experimental-addon-test 8.6.19
- npm @storybook/addon-vitest 9.1.21, 10.6.2, 11.0.0-alpha.6
- npm @storybook/addon-mcp 10.6.2, 11.0.0-alpha.6
- storybook storybook 8.6.19, 9.1.21, 10.6.2, 11.0.0-alpha.6
- github.com/storybookjs/storybook@243c06b commit
- github.com/storybookjs/storybook@3be03ec commit
- github.com/storybookjs/storybook@97513d9 commit
- github.com/storybookjs/storybook@d9b09e3 commit
- github.com/storybookjs/storybook@df3fed4 commit
- github.com/storybookjs/storybook@a9ef934 commit
- github.com/storybookjs/storybook#36726 pull request
- github.com/storybookjs/storybook/releases/tag/v10.6.2 release
- github.com/storybookjs/storybook/releases/tag/v11.0.0-alpha.6 release
- github.com/storybookjs/storybook/releases/tag/v8.6.19 release
Is CVE-2026-114125 in your dependencies? Fencer shows which of your repositories are affected as soon as an advisory lands, and opens the fix as a pull request.
Check with FencerVendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2026-114125 updated cvss 8.8
storybook: Storybook: Arbitrary code execution via insufficient message-origin restrictions
-
Red Hat Node HealthCheck Operator workload-availability/node-remediation-console-rhel8, workload-availability/node-healthcheck-rhel9-operator, workload-availability/node-healthcheck-operator-bundle, workload-availability/node-healthcheck-must-gather-rhel9 Red Hat Build of Podman Desktop rh-podman-desktop 3c6fc75a2a6cf5bb9b8a667fddcbbf428132badcaffected: no fix available
-
Red Hat Hardened Images grafana13.1 13.1.8-0.4.hum1, grafana13.2 13.2.4-0.3.hum1, grafana12.4 12.4.13-0.3.hum1fixed: vendor fix RHSA-2026:88478
-
Red Hat Enterprise Linux 9 grafana, grafana-selinux, grafana 12.4.3-2.el10 Red Hat Enterprise Linux 10 grafana 12.4.3-2.el10not affected: component not present
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
CISA SSVC
- Exploitation
- none
- Automatable
- no
- Technical impact
- total
- Assessed
- 12d ago
Exploit prediction
0.39% chance of exploitation in the next 30 days, higher than 32% of all scored CVEs (FIRST EPSS, 2026-11-09).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 4.0 | 8.6 | CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N |
| CNA | 4.0 | 8.6 | CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| npm | storybook | >=8.0.0, <8.6.19 >=9.0.0, <9.1.21 >=10.0.0, <10.6.2 >=11.0.0-alpha.0, <11.0.0-alpha.6 |
8.6.19 9.1.21 10.6.2 11.0.0-alpha.6 |
| npm | @storybook/core | >=8.0.0, <8.6.19 |
8.6.19 |
| npm | @storybook/core-server | >=8.0.0, <8.6.19 |
8.6.19 |
| npm | @storybook/experimental-addon-test | >=8.0.0, <8.6.19 |
8.6.19 |
| npm | @storybook/addon-vitest | >=9.0.0, <9.1.21 >=10.0.0, <10.6.2 >=11.0.0-alpha.0, <11.0.0-alpha.6 |
9.1.21 10.6.2 11.0.0-alpha.6 |
| npm | @storybook/addon-mcp | >=10.6.0, <10.6.2 >=11.0.0-alpha.0, <11.0.0-alpha.6 |
10.6.2 11.0.0-alpha.6 |
Affected products
- storybookjs storybook
Classification
- Weakness
-
- CWE-94 Improper Control of Generation of Code
- CWE-346 Origin Validation Error
- CWE-1021 Improper Restriction of Rendered UI Layers or Frames
- CWE-22 Improper Limitation of a Pathname to a Restricted Directory
- CWE-441 Unintended Proxy or Intermediary
- CWE-749 Exposed Dangerous Method or Function
- CWE-862 Missing Authorization
- CWE-96 Improper Neutralization of Directives in Statically Saved Code
References
-
github.com
/storybookjs/storybook/pull/36726
web
-
github.com
/storybookjs/storybook/commit/243c06bf8f1e2f09446c44868ea100261e1374da
web
-
github.com
/storybookjs/storybook/commit/3be03ec6f11f4616471cebc3fc65c13e1bf8c178
web
- github.com /storybookjs/storybook/commit/97513d999910d071c2b36830495dab63e17d9fe0
-
github.com
/storybookjs/storybook/commit/d9b09e332510a88689c71ecc081bbbc2d072476e
web
-
github.com
/storybookjs/storybook/commit/df3fed468c9b4830605f00068c4bc6b7e1e215ed
web
-
github.com
/storybookjs/storybook/commit/a9ef9345d73224c73e0b81dc2701ec5b465ea9bb
web
-
github.com
/storybookjs/storybook/security/advisories/GHSA-f2ph-cmg5-wxc8
web
-
github.com
/storybookjs/storybook/releases/tag/v10.6.2
web
-
github.com
/storybookjs/storybook/releases/tag/v11.0.0-alpha.6
web
-
github.com
/storybookjs/storybook/releases/tag/v8.6.19
web
-
github.com
/storybookjs/storybook/releases/tag/v9.1.21
web
-
github.com
/storybookjs/storybook
package
Sources
- CVE List CVE-2026-114125
- GitHub Advisory GHSA-f2ph-cmg5-wxc8
- NVD CVE-2026-114125
Fencer Intel keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.