Loading...
Skip to main content

CVE-2026-32260 — Vulnerability in deno — CVE Details

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.

Advisory Timeline

  • First published March 13, 2026 (213 days ago).
  • Last revised March 14, 2026 — 1 day after initial publication.

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)

Affects 1 ecosystem: crates.io (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-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

  • CVE-2023-22499
    HIGH

    Deno is vulnerable to race condition via interactive permission prompt spoofing

  • CVE-2023-33966
    HIGH

    Missing "--allow-net" permission check for built-in Node modules

  • CVE-2023-28446
    HIGH

    Interactive `run` permission prompt spoofing via improper ANSI neutralization

  • CVE-2024-27935
    HIGH

    Deno's Node.js Compatibility Runtime has Cross-Session Data Contamination

  • CVE-2026-49411
    MEDIUM

    Deno: Node TCPWrap numeric hostname aliases bypass --deny-net resolved-IP deny checks

Check if you're affected

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

Scan Your Dependencies