{"id":"CVE-2026-114126","summary":"Storybook dev server: devices on the same network can obtain the WebSocket token and write code into story files","details":"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, the Storybook development server can expose its WebSocket authentication token to clients able to load its HTML pages over a local network. A LAN attacker can obtain the token and invoke WebSocket-backed file-writing or testing functionality. Weak story-write validation can allow code to be placed in story files. If the Storybook Vitest addon is installed with an old version of Vitest, the payload can use a Vitest API to write additional files or execute commands. Depending on the payload and local tooling, the attack can lead to 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.","aliases":["GHSA-px85-f4q5-jh77"],"modified":"2026-10-22T02:48:57.430387817Z","published":"2026-10-21T17:21:29.520Z","database_specific":{"cna_assigner":"GitHub_M","cwe_ids":["CWE-22","CWE-306","CWE-94"],"osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/114xxx/CVE-2026-114126.json"},"references":[{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/114xxx/CVE-2026-114126.json"},{"type":"FIX","url":"https://github.com/storybookjs/storybook/commit/243c06bf8f1e2f09446c44868ea100261e1374da"},{"type":"FIX","url":"https://github.com/storybookjs/storybook/commit/3be03ec6f11f4616471cebc3fc65c13e1bf8c178"},{"type":"FIX","url":"https://github.com/storybookjs/storybook/commit/5540f03b209cc56c66f56a9c7cb4b2ee5b883ce5"},{"type":"FIX","url":"https://github.com/storybookjs/storybook/commit/a9ef9345d73224c73e0b81dc2701ec5b465ea9bb"},{"type":"FIX","url":"https://github.com/storybookjs/storybook/commit/d9b09e332510a88689c71ecc081bbbc2d072476e"},{"type":"FIX","url":"https://github.com/storybookjs/storybook/commit/df3fed468c9b4830605f00068c4bc6b7e1e215ed"},{"type":"FIX","url":"https://github.com/storybookjs/storybook/pull/36726"},{"type":"WEB","url":"https://github.com/storybookjs/storybook/releases/tag/v10.6.2"},{"type":"WEB","url":"https://github.com/storybookjs/storybook/releases/tag/v11.0.0-alpha.6"},{"type":"WEB","url":"https://github.com/storybookjs/storybook/releases/tag/v8.6.19"},{"type":"WEB","url":"https://github.com/storybookjs/storybook/releases/tag/v9.1.21"},{"type":"ADVISORY","url":"https://github.com/storybookjs/storybook/security/advisories/GHSA-px85-f4q5-jh77"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-114126"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/storybookjs/storybook","events":[{"introduced":"49f18e828c3c543f1498ca57347c9f19b09fdc11"},{"fixed":"117b95a45b27138796c151b7928ba7956ca6da45"},{"introduced":"5dd81ae54583e9d445c515fa6640f26de0056592"},{"fixed":"9abaf68f9a8dd45f0c861e9e1500ba1f6a850e0a"},{"introduced":"88a02e67cd158c174542912961d4d2a75fb65d75"},{"fixed":"5f00d7d0a78e069aa304bdb886da923e012ef2e0"},{"introduced":"c496da65ec70a495ed7e49fe8b1ca19180758b4f"},{"fixed":"635ac8e2c2b0466ced380ef8a30344a3de48a32b"},{"fixed":"243c06bf8f1e2f09446c44868ea100261e1374da"},{"fixed":"3be03ec6f11f4616471cebc3fc65c13e1bf8c178"},{"fixed":"5540f03b209cc56c66f56a9c7cb4b2ee5b883ce5"},{"fixed":"a9ef9345d73224c73e0b81dc2701ec5b465ea9bb"},{"fixed":"d9b09e332510a88689c71ecc081bbbc2d072476e"},{"fixed":"df3fed468c9b4830605f00068c4bc6b7e1e215ed"}],"database_specific":{"extracted_events":[{"strategy":"StringRangeExpression","range":[{"introduced":"8.0.0"},{"fixed":"8.6.19"}],"source":"AFFECTED_FIELD"},{"source":"AFFECTED_FIELD","strategy":"StringRangeExpression","range":[{"introduced":"9.0.0"},{"fixed":"9.1.21"}]},{"source":"AFFECTED_FIELD","strategy":"StringRangeExpression","range":[{"introduced":"10.0.0"},{"fixed":"10.6.2"}]},{"source":"AFFECTED_FIELD","strategy":"StringRangeExpression","range":[{"introduced":"11.0.0-alpha.0"},{"fixed":"11.0.0-alpha.6"}]},{"source":"REFERENCES_COMMIT","range":[{"fixed":"243c06bf8f1e2f09446c44868ea100261e1374da"}]},{"source":"REFERENCES_COMMIT","range":[{"fixed":"3be03ec6f11f4616471cebc3fc65c13e1bf8c178"}]},{"range":[{"fixed":"5540f03b209cc56c66f56a9c7cb4b2ee5b883ce5"}],"source":"REFERENCES_COMMIT"},{"source":"REFERENCES_COMMIT","range":[{"fixed":"a9ef9345d73224c73e0b81dc2701ec5b465ea9bb"}]},{"source":"REFERENCES_COMMIT","range":[{"fixed":"d9b09e332510a88689c71ecc081bbbc2d072476e"}]},{"range":[{"fixed":"df3fed468c9b4830605f00068c4bc6b7e1e215ed"}],"source":"REFERENCES_COMMIT"},{"source":"REFERENCES_TAG","original_tag":"v10.6.2","range":[{"fixed":"5f00d7d0a78e069aa304bdb886da923e012ef2e0"}]},{"range":[{"fixed":"635ac8e2c2b0466ced380ef8a30344a3de48a32b"}],"source":"REFERENCES_TAG","original_tag":"v11.0.0-alpha.6"},{"original_tag":"v8.6.19","range":[{"fixed":"117b95a45b27138796c151b7928ba7956ca6da45"}],"source":"REFERENCES_TAG"},{"original_tag":"v9.1.21","range":[{"fixed":"9abaf68f9a8dd45f0c861e9e1500ba1f6a850e0a"}],"source":"REFERENCES_TAG"}]}}],"versions":["v10.6.1","v11.0.0-alpha.5","v9.1.20","v11.0.0-alpha.4","v11.0.0-alpha.3","v11.0.0-alpha.2","v11.0.0-alpha.1","v10.6.0","v11.0.0-alpha.0","v10.6.0-beta.3","v10.6.0-beta.2","v10.6.0-beta.1","v10.6.0-beta.0","v10.6.0-alpha.9","v10.6.0-alpha.8","v10.6.0-alpha.7","v10.6.0-alpha.6","v10.6.0-alpha.5","v10.6.0-alpha.4","v10.6.0-alpha.3","v10.6.0-alpha.2","v10.6.0-alpha.1","v10.6.0-alpha.0","v10.5.0","v10.5.0-beta.2","v10.5.0-beta.1","v10.5.0-alpha.11","v10.5.0-beta.0","v10.5.0-alpha.10","v10.5.0-alpha.9","v10.5.0-alpha.8","v10.5.0-alpha.7","v10.5.0-alpha.6","v10.5.0-alpha.5","v10.5.0-alpha.4","v10.5.0-alpha.3","v10.5.0-alpha.2","v10.4.0","v10.5.0-alpha.1","v10.5.0-alpha.0","v10.4.0-beta.0","v10.4.0-alpha.19","v10.4.0-alpha.18","v10.4.0-alpha.17","v10.4.0-alpha.16","v10.4.0-alpha.15","v10.4.0-alpha.14","v10.4.0-alpha.13","v10.4.0-alpha.12","v10.4.0-alpha.11","v10.4.0-alpha.10","v10.4.0-alpha.9","v10.4.0-alpha.8","v10.4.0-alpha.7","v10.4.0-alpha.6","v10.4.0-alpha.5","v10.4.0-alpha.4","v10.4.0-alpha.3","v10.4.0-alpha.2","v10.3.0","v10.4.0-alpha.1","v10.4.0-alpha.0","v10.3.0-beta.3","v10.3.0-beta.2","v10.3.0-beta.1","v10.3.0-beta.0","v10.3.0-alpha.17","v10.3.0-alpha.16","v10.3.0-alpha.15","v10.3.0-alpha.14","v9.1.19","v10.3.0-alpha.13","v10.3.0-alpha.12","v10.3.0-alpha.11","v10.3.0-alpha.10","v10.3.0-alpha.9","v10.3.0-alpha.8","v10.3.0-alpha.7","v10.3.0-alpha.6","v9.1.18","v9.1.17","v10.3.0-alpha.5","v10.3.0-alpha.4","v10.3.0-alpha.3","v10.3.0-alpha.2","v10.2.0-alpha.0","v10.3.0-alpha.1","v10.3.0-alpha.0","v10.2.0","v10.2.0-beta.5","v10.2.0-beta.4","v10.2.0-beta.3","v10.2.0-beta.2","v10.2.0-beta.1","v10.2.0-beta.0","v10.2.0-alpha.18","v10.2.0-alpha.17","v10.2.0-alpha.16","v10.2.0-alpha.15","v10.2.0-alpha.14","v10.2.0-alpha.12","v10.2.0-alpha.13","v10.2.0-alpha.11","v10.2.0-alpha.10","v10.2.0-alpha.9","v10.2.0-alpha.8","v10.2.0-alpha.7","v10.2.0-alpha.6","v9.1.16","v10.2.0-alpha.5","v10.2.0-alpha.4","v10.2.0-alpha.3","v10.2.0-alpha.2","v10.2.0-alpha.1","v10.1.0","v10.1.0-beta.6","v10.1.0-beta.5","v10.1.0-beta.4","v10.1.0-beta.3","v10.1.0-beta.2","v10.1.0-beta.1","v10.1.0-beta.0","v10.1.0-alpha.14","v10.1.0-alpha.13","v10.1.0-alpha.12","v10.1.0-alpha.11","v10.1.0-alpha.10","v10.1.0-alpha.9","v10.1.0-alpha.8","v10.1.0-alpha.7","v10.1.0-alpha.6","v10.1.0-alpha.5","v10.1.0-alpha.4","v10.1.0-alpha.3","v9.1.15","v10.1.0-alpha.2","v10.1.0-alpha.1","v10.1.0-alpha.0","v10.0.0","v9.1.14","v9.1.13","v9.1.12","v9.1.11","v9.1.10","v9.1.9","v9.1.8","v9.1.7","v9.1.6","v9.1.5","v9.1.4","v9.1.3","v9.1.2","v9.1.1","v9.1.0","v9.1.0-beta.3","v9.1.0-beta.2","v9.1.0-beta.1","v9.1.0-beta.0","v9.1.0-alpha.10","v9.1.0-alpha.9","v9.1.0-alpha.8","v9.1.0-alpha.7","v9.1.0-alpha.6","v9.1.0-alpha.5","v9.1.0-alpha.4","v9.1.0-alpha.3","v9.1.0-alpha.2","v9.1.0-alpha.1","v9.0.0","v9.1.0-alpha.0"],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-114126.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V4","score":"CVSS:4.0/AV:A/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:L/SI:L/SA:N"}]}