Loading...
Skip to main content

CVE-2026-32260

HIGH

Deno vulnerable to command Injection via incomplete shell metacharacter blocklist in node:child_process

Published March 13, 2026Updated March 14, 2026Source: osv

Summary

## Summary A command injection vulnerability exists in Deno's `node:child_process` polyfill (`shell: true` mode) that bypasses the fix for CVE-2026-27190 (GHSA-hmh4-3xvx-q5hr). An attacker who controls arguments passed to `spawnSync` or `spawn` with `shell: true` can execute arbitrary OS commands, bypassing Deno's permission system. **Affected versions:** Deno v2.7.0, v2.7.1 ## Details The two-stage argument sanitization in `transformDenoShellCommand` (`ext/node/polyfills/internal/child_process.ts`) has a priority bug: when an argument contains a `$VAR` pattern, it is wrapped in double quotes (L1290) instead of single quotes (L1293). Double quotes in POSIX sh do not suppress backtick command substitution, allowing injected commands to execute. Attack chain: 1. `escapeShellArg` wraps the argument in single quotes (safe) 2. `op_node_parse_shell_args` strips the single-quote delimiters during tokenization (raw argument exposed) 3. Re-quoting detects `$VAR` pattern → applies double quotes 4. Backtick payload inside double quotes executes via `/bin/sh` ## Impact **OS Command Injection (CWE-78)**. Any application using `node:child_process` `spawn`/`spawnSync` with `shell: true` and user-controlled arguments is vulnerable. Injected commands execute at the OS process level, outside Deno's permission sandbox. Only `--allow-run` is required. ## Mitigation Avoid passing user-controlled input as arguments to `spawn`/`spawnSync` with `shell: true`. Use `shell: false` (the default) instead, or validate/sanitize inputs before passing them.

Remediation

Upgrade to the fixed version using your package manager.

Cargo
Update deno to 2.7.2 or later
cargo update -p deno --precise 2.7.2

After upgrading, run your dependency scanner again to confirm the vulnerability is resolved.

Affected Packages (1)

PackageEcosystemAffectedFixed In
deno
crates.io
All versions2.7.2

Vulnerability Classification

Common Weakness Enumeration (CWE) identifiers for this vulnerability type.

  • CWE-78
    OS Command InjectionMITRE

CVSS Score Breakdown

What the CVSS (Common Vulnerability Scoring System) 8.1 score means for each attack dimension.

Attack Vector
Network
Attack Complexity
High
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H

Frequently Asked Questions

What is CVE-2026-32260?
Deno vulnerable to command Injection via incomplete shell metacharacter blocklist in node:child_process This vulnerability has been assigned a severity rating of HIGH (CVSS score: 8.1/10).
How do I check if my project is affected by CVE-2026-32260?
CVE-2026-32260 affects deno. Use GeekWala's free vulnerability scanner to check your dependencies against CVE-2026-32260 and 200,000+ other known vulnerabilities.

Severity & Exploitability

CVSS Score
8.1

High exploitability or significant impact. Prioritize remediation within days.

Also Known As

GHSA-4c96-w8v2-p28j

Related CVEs

  • CVE-2023-28445
    CRITICAL

    Deno improperly handles resizable ArrayBuffer

  • CVE-2026-49440
    HIGH

    Deno: Miller-Rabin Primality Test Allows Zero Rounds

  • CVE-2026-44726
    HIGH

    Deno's TLS retry copies stale upgrade hook, risking plaintext traffic

  • CVE-2025-21620
    HIGH

    fetch: Authorization headers not dropped when redirecting cross-origin

  • CVE-2026-27190
    HIGH

    Deno has a Command Injection via Incomplete shell metacharacter blocklist in node:child_process

  • CVE-2025-61787
    HIGH

    Deno is Vulnerable to Command Injection on Windows During Batch File Execution

  • CVE-2026-22864
    HIGH

    Deno has an incomplete fix for command-injection prevention on Windows — case-insensitive extension bypass

  • CVE-2024-27936
    HIGH

    Deno's deno_runtime vulnerable to interactive permission prompt spoofing via improper ANSI stripping

Check if you're affected

Scan your dependencies to see if this vulnerability affects your projects.

Scan Your Dependencies