Deno is Vulnerable to Command Injection on Windows During Batch File Execution
### Summary Deno versions up to 2.5.1 are vulnerable to Command Line Injection attacks on Windows when batch files are executed. ### Details In Windows, ``CreateProcess()`` always implicitly spawns ``cmd.exe`` if a batch file (.bat, .cmd, etc.) is being executed even if the application does not specify it via the command line. This makes Deno vulnerable to a command injection attack on Windows as demonstrated by the two proves-of-concept below. ### PoC Using `node:child_process` (with the `env` and `run` permissions): ```JS const { spawn } = require('node:child_process'); const child = spawn('./test.bat', ['&calc.exe']); ``` Using `Deno.Command.spawn()` (with the `run` permission): ```JS const command = new Deno.Command('./test.bat', { args: ['&calc.exe'], }); const child = command.spawn(); ``` ### Impact Both of these scripts result in opening calc.exe on Windows, thus allowing a Command Line Injection attack when user-provided arguments are passed if the script being executed by the child process is a batch script.
describes (1)
Related CVEs.
| ID | severity | exploitable | ||
|---|---|---|---|---|
| CVE-2025-61787US | — | — | ||
Deno is a JavaScript, TypeScript, and WebAssembly runtime. Versions prior to 2.5.3 and 2.2.15 are vulnerable to Command Line Injection attacks on Windows when batch files are execu… | ||||
references
External citations — patches, advisories, analysis.
- https://github.com/denoland/denoPACKAGE
- https://github.com/denoland/deno/commit/8a0990ccd37bafd8768176ca64b906ba2da2d822WEB
- https://github.com/denoland/deno/pull/30818WEB
- https://github.com/denoland/deno/releases/tag/v2.2.15WEB
- https://github.com/denoland/deno/releases/tag/v2.5.2WEB
- https://github.com/denoland/deno/security/advisories/GHSA-m2gf-x3f6-8hq3WEB
- https://nvd.nist.gov/vuln/detail/CVE-2025-61787ADVISORY
Advisories like this name the exposed products attackers go after on your perimeter. See what is exposed on your perimeter with a free passive scan.
Free scan