CVE-2025-68429
JavaScript vulnerability analysis and mitigation

Overview

CVE-2025-68429 is an environment variable exposure vulnerability in Storybook, a popular frontend UI component workshop tool. A bug in Storybook's build process causes variables defined in .env files (including .env.local variants) to be unexpectedly bundled into the static artifacts produced by the storybook build command, potentially exposing secrets to anyone who can view the published bundle's source. The vulnerability affects Storybook versions 7.0.0 through 7.6.20, 8.0.0 through 8.6.14, 9.0.0 through 9.1.16, and 10.0.0 through 10.1.9 for Node.js. It was responsibly disclosed to the Storybook team on December 11, 2025, and publicly disclosed on December 17, 2025. The CVSS v3.1 base score is 7.3 (High) per the CNA (GitHub), and 5.3 (Medium) per NVD (GitHub Advisory, Storybook Advisory).

Technical details

The root cause is improper handling of environment variable ingestion during the Storybook build pipeline, classified under CWE-200 (Exposure of Sensitive Information to an Unauthorized Actor), CWE-538 (Insertion of Sensitive Information into Externally-Accessible File or Directory), and CWE-541 (Inclusion of Sensitive Information in an Include File). When storybook build is executed in a directory containing a .env file, Storybook's bundler inadvertently inlines the environment variable values into the generated JavaScript bundle — behavior that was undocumented and unintended. The attack vector is network-based with no authentication or user interaction required; an attacker simply needs to access the publicly hosted Storybook URL and inspect the bundle source (e.g., via browser DevTools or direct URL access to JS assets). Exploitation requires that the project both builds Storybook in a directory with a .env file containing secrets and publishes the resulting build to the web — storybook dev (runtime) mode and Storybook 6 and below are not affected (GitHub Advisory, Storybook Advisory).

Impact

Sensitive credentials, API keys, database connection strings, and other secrets stored in .env files become publicly readable to any user who can access the published Storybook instance and inspect its JavaScript bundle source. Exposed secrets can be leveraged by attackers to gain unauthorized access to databases, third-party APIs, cloud services, and other protected resources, potentially enabling lateral movement across connected systems. The confidentiality impact is the primary concern; integrity and availability of the Storybook application itself are not directly affected, but downstream systems relying on the compromised credentials are at risk (GitHub Advisory, Feedly).

Exploitability

No public proof-of-concept exploit code has been published, and there are no confirmed reports of in-the-wild exploitation as of the disclosure date (GitHub Advisory). The EPSS score is approximately 0.013% (2nd percentile), indicating a low near-term exploitation probability (GitHub Advisory). The vulnerability is not listed in the CISA Known Exploited Vulnerabilities (KEV) catalog. No threat actor attribution has been reported. Despite the low exploitation evidence, the passive nature of the exposure (secrets embedded in publicly accessible bundles) means affected projects may already have had secrets silently harvested without generating detectable attack activity.

Exploitation steps

  1. Reconnaissance: Identify publicly hosted Storybook instances using search engines (e.g., Google dork: site:*.example.com "storybook") or by browsing known project URLs, looking for Storybook UI deployments.
  2. Confirm Storybook version: Check the bundle or page metadata to determine if the Storybook version falls within the affected range (7.0.0–7.6.20, 8.0.0–8.6.14, 9.0.0–9.1.16, 10.0.0–10.1.9).
  3. Access the built bundle: Open browser DevTools (Sources tab) or directly request the main JavaScript bundle URL (e.g., https://storybook.example.com/sb-manager/runtime.js or similar) from the published Storybook.
  4. Search for secrets: Use browser search or download the bundle and grep for common patterns such as API_KEY, SECRET, PASSWORD, DATABASE_URL, or other environment variable names that may have been defined in the project's .env file.
  5. Extract and abuse credentials: Use any discovered API keys, tokens, or credentials to authenticate against the corresponding services (cloud providers, databases, third-party APIs) and gain unauthorized access (GitHub Advisory, Storybook Advisory).

Indicators of compromise

  • Network: Unusual or repeated HTTP GET requests to Storybook bundle JavaScript files (e.g., /sb-manager/*.js, /static/js/*.js) from unfamiliar IP addresses or automated user agents; access log entries showing bulk downloads of JS assets shortly after a Storybook deployment.
  • Logs: Web server access logs showing requests to Storybook static assets from IPs not associated with known developers or CI systems; anomalous access patterns (e.g., high frequency, non-browser user agents) targeting bundle files.
  • Third-party Service Alerts: Unexpected authentication attempts or API calls using credentials that were stored in .env files; alerts from cloud providers (AWS, GCP, Azure) or SaaS platforms about API key usage from unfamiliar locations or at unusual times.
  • File System: Presence of .env or .env.local files in the Storybook build directory at build time; Storybook build artifacts (e.g., storybook-static/) containing plaintext environment variable values when inspected (GitHub Advisory).

Mitigation and workarounds

Upgrade Storybook to patched versions 7.6.21, 8.6.15, 9.1.17, or 10.1.10 (or later) on both local development machines and CI/CD environments before publishing any new Storybook builds (GitHub Advisory, Storybook Security Blog). Immediately audit all .env files used during Storybook builds and rotate any secrets that may have been exposed in previously published builds. As a configuration-based mitigation, avoid placing sensitive secrets in .env files used during storybook build; instead, provide secrets via platform-level CI environment variables (which are not read from .env files). For non-sensitive variables that must be accessible in Storybook, prefix them with STORYBOOK_ or explicitly declare them using the env property in Storybook's configuration file. IBM has also released fixes for affected products including IBM Cloud Pak for Business Automation and IBM Event Processing (IBM CP4BA Advisory, IBM Event Processing Advisory).

Community reactions

The Storybook maintainers published a dedicated security advisory blog post promptly after the responsible disclosure, crediting researcher matthew-gill for the report (Storybook Security Blog). The vulnerability was covered in the "This Week in React" newsletter (issue 263), indicating notable awareness in the React/frontend developer community (Storybook Security Blog). IBM issued multiple security bulletins acknowledging the impact on its enterprise products, including Cloud Pak for Business Automation and IBM Event Processing, reflecting the downstream reach of the vulnerability (IBM Event Processing Advisory).

Additional resources


SourceThis report was generated using AI

Related JavaScript vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

CVE-2026-54155HIGH7.7
  • JavaScript logoJavaScript
  • node-opcua
NoNoAug 20, 2026
CVE-2026-54156HIGH7.5
  • JavaScript logoJavaScript
  • node-opcua
NoYesAug 20, 2026
CVE-2026-55451MEDIUM6.9
  • JavaScript logoJavaScript
  • gettext-converter
NoYesAug 20, 2026
CVE-2026-54150MEDIUM6.9
  • JavaScript logoJavaScript
  • next-video
NoYesAug 20, 2026
GHSA-ghvf-qf6h-g8x5HIGHN/A
  • JavaScript logoJavaScript
  • @nocobase/server
NoYesAug 20, 2026

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management