Miggo Logo

CVE-2025-24959: ZX Allows Environment Variable Injection for dotenv API

5.2

CVSS Score
3.1

Basic Information

EPSS Score
0.28139%
Published
2/3/2025
Updated
2/4/2025
KEV Status
No
Technology
TechnologyJavaScript

Technical Details

CVSS Vector
CVSS:3.1/AV:A/AC:L/PR:L/UI:R/S:U/C:N/I:N/A:H
Package NameEcosystemVulnerable VersionsFirst Patched Version
zxnpm= 8.3.18.3.2

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The vulnerability stems from envapi's stringify function handling of environment variable values. The pre-patch version (0.2.1) shown in the reference code uses a formatValue function that prioritizes quote selection without proper escaping/sanitization. This allowed attackers to inject additional environment variables via controlled values containing unescaped quotes/backticks. The zx package's dependency on vulnerable envapi versions (<=0.2.1) made its dotenv.stringify function vulnerable. The patch updated envapi to 0.2.3 which likely added proper input validation/sanitization.

Vulnerable functions

Only Mi**o us*rs **n s** t*is s**tion

WAF Protection Rules

WAF Rule

### Imp**t T*is vuln*r**ility is *n ***nvironm*nt V*ri**l* Inj**tion** issu* in `*ot*nv.strin*i*y`, *****tin* `*oo*l*/zx` v*rsion ***.*.***. *n *tt**k*r wit* *ontrol ov*r *nvironm*nt v*ri**l* v*lu*s **n inj**t unint*n*** *nvironm*nt v*ri**l*s into

Reasoning

T** vuln*r**ility st*ms *rom *nv*pi's strin*i*y *un*tion **n*lin* o* *nvironm*nt v*ri**l* v*lu*s. T** pr*-p*t** v*rsion (*.*.*) s*own in t** r***r*n** *o** us*s * *orm*tV*lu* *un*tion t**t prioritiz*s quot* s*l**tion wit*out prop*r *s**pin*/s*nitiz*t