Description
Deno is a JavaScript, TypeScript, and WebAssembly runtime. From 2.7.0 to 2.7.1, A command injection vulnerability exists in Deno's node:child_process polyfill (shell: true mode) that bypasses the fix for CVE-2026-27190. 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. Double quotes in POSIX sh do not suppress backtick command substitution, allowing injected commands to execute. An attacker who controls arguments passed to spawnSync or spawn with shell: true can execute arbitrary OS commands, bypassing Deno's permission system. This vulnerability is fixed in 2.7.2.
Published: 2026-03-12
Score: 8.1 High
EPSS: 1.5% Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

A command injection flaw resides in Deno 2.7.0 through 2.7.1’s node:child_process polyfill when shell execution is enabled. The sanitization routine improperly wraps $VAR patterns in double quotes rather than single quotes, permitting backtick command substitution in POSIX sh. An attacker who can influence arguments supplied to spawnSync or spawn with shell:true can execute arbitrary operating‑system commands, effectively bypassing Deno’s permission system. This weakness represents a classic command injection (CWE-78) and can compromise confidentiality, integrity, and availability of the host system.

Affected Systems

The vulnerability affects the denoland:deno product specifically versions 2.7.0 and 2.7.1. Versions 2.7.2 and later contain the fix and are not impacted.

Risk and Exploitability

The CVSS rating of 8.1 classifies the flaw as high severity. EPSS indicates the likelihood of exploitation is 1%, and the vulnerability is not listed in the CISA KEV catalog. Based on the description, the likely attack vector is local to the process but could be expanded to remote contexts if the application is exposed. Exploitability requires an attacker to control input to the child_process API; no public exploitation or proof‑of‑concept material is cited; however, the flaw’s high impact warrants immediate attention.

Generated by OpenCVE AI on June 18, 2026 at 13:31 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Apply Deno version 2.7.2 or later to address the command injection issue
  • Avoid calling node:child_process.spawnSync or spawn with shell:true when the arguments can be influenced by external input; instead, use non‑shell invocation or validate and sanitize all arguments
  • If an immediate upgrade is not possible, isolate vulnerable code paths in a sandboxed environment or remove the use of the polyfill entirely, and enforce runtime permission checks that prohibit unintended child process execution.

Generated by OpenCVE AI on June 18, 2026 at 13:31 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-4c96-w8v2-p28j Deno vulnerable to command Injection via incomplete shell metacharacter blocklist in node:child_process
History

Wed, 18 Mar 2026 14:30:00 +0000

Type Values Removed Values Added
CPEs cpe:2.3:a:deno:deno:*:*:*:*:*:*:*:*

Fri, 13 Mar 2026 17:15:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'total'}, 'version': '2.0.3'}


Fri, 13 Mar 2026 10:00:00 +0000

Type Values Removed Values Added
First Time appeared Deno
Deno deno
Vendors & Products Deno
Deno deno

Thu, 12 Mar 2026 20:00:00 +0000

Type Values Removed Values Added
Description Deno is a JavaScript, TypeScript, and WebAssembly runtime. From 2.7.0 to 2.7.1, A command injection vulnerability exists in Deno's node:child_process polyfill (shell: true mode) that bypasses the fix for CVE-2026-27190. 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. Double quotes in POSIX sh do not suppress backtick command substitution, allowing injected commands to execute. An attacker who controls arguments passed to spawnSync or spawn with shell: true can execute arbitrary OS commands, bypassing Deno's permission system. This vulnerability is fixed in 2.7.2.
Title Command Injection via incomplete shell metacharacter blocklist in node:child_process (bypass of CVE-2026-27190 fix)
Weaknesses CWE-78
References
Metrics cvssV3_1

{'score': 8.1, 'vector': 'CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H'}


cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-03-13T16:13:40.538Z

Reserved: 2026-03-11T15:05:48.397Z

Link: CVE-2026-32260

cve-icon Vulnrichment

Updated: 2026-03-13T16:13:36.966Z

cve-icon NVD

Status : Analyzed

Published: 2026-03-12T20:16:06.020

Modified: 2026-06-17T10:35:26.550

Link: CVE-2026-32260

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-06-18T13:45:05Z

Weaknesses
  • CWE-78

    Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection')