CVE-2025-24959 json
Environment Variable Injection for dotenv API in zx
published 2025-02-03 21 mo ago modified 2026-06-17 4 mo ago also GHSA-qwp8-x4ff-5h87 , EUVD-2025-0220
- cvss
- 5.2
- version 3.1, GitHub
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.2%
- EPSS 0.2% chance of exploitation in 30 days, percentile 7%
- public exploits
- 0
- none known
Summary
zx is a tool for writing better scripts. An attacker with control over environment variable values can inject unintended environment variables into `process.env`. This can lead to arbitrary command execution or unexpected behavior in applications that rely on environment variables for security-sensitive operations. Applications that process untrusted input and pass it through `dotenv.stringify` are particularly vulnerable. This issue has been patched in version 8.3.2. Users should immediately upgrade to this version to mitigate the vulnerability. If upgrading is not feasible, users can mitigate the vulnerability by sanitizing user-controlled environment variable values before passing them to `dotenv.stringify`. Specifically, avoid using `"`, `'`, and backticks in values, or enforce strict validation of environment variables before usage.
Patch / fix
Vendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2025-24959 updated cvss 0.0
zx: Environment Variable Injection for dotenv API in zx
-
Red Hat All currently supported Red Hat productsnot affected: vulnerable code 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
- partial
- Assessed
- 21 mo ago
Exploit prediction
0.18% chance of exploitation in the next 30 days, higher than 7% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 4.0 | 1.0 | CVSS:4.0/AV:L/AC:L/AT:P/PR:L/UI:A/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N |
| CNA | 4.0 | 1.0 | CVSS:4.0/AV:L/AC:L/AT:P/PR:L/UI:A/VC:L/VI:L/VA:L/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 |
| GitHub | 3.1 | 5.2 | CVSS:3.1/AV:A/AC:L/PR:L/UI:R/S:U/C:N/I:N/A:H |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| npm | zx | >=8.3.1, <8.3.2 |
8.3.2 |
Affected products
- google zx
Classification
References
-
github.com
/google/zx/pull/1094
web
-
github.com
/google/zx/commit/5ba714d14ecf0555a74d4db96622840ac19839c5
web
-
github.com
/google/zx/security/advisories/GHSA-qwp8-x4ff-5h87
web
-
nvd.nist.gov
/vuln/detail/CVE-2025-24959
advisory
-
github.com
/google/zx
package
-
github.com
/webpod/envapi/blob/v0.2.1/src/main/ts/envapi.ts#L74-L77
web
Sources
- CVE List CVE-2025-24959
- GitHub Advisory GHSA-qwp8-x4ff-5h87
- NVD CVE-2025-24959
Fencer Vulns 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.