Skip to content
OpenAdvisories
High · 7.7 CVE-2026-0933 EUVD-2026-3519GHSA-36p8-mvp6-cv38GHSA-8h3q-9fpp-c883

OS Command Injection in `wrangler pages deploy`

Published Jan 20, 2026 · Updated Jan 23, 2026 · Assigned by cloudflare

Description

SummaryA command injection vulnerability (CWE-78) has been found to exist in the `wrangler pages deploy` command. The issue occurs because the `--commit-hash` parameter is passed directly to a shell command without proper validation or sanitization, allowing an attacker with control of `--commit-hash` to execute arbitrary commands on the system running Wrangler.

Root causeThe commitHash variable, derived from user input via the --commit-hash CLI argument, is interpolated directly into a shell command using template literals (e.g.,  execSync(`git show -s --format=%B ${commitHash}`)). Shell metacharacters are interpreted by the shell, enabling command execution.

ImpactThis vulnerability is generally hard to exploit, as it requires --commit-hash to be attacker controlled. The vulnerability primarily affects CI/CD environments where `wrangler pages deploy` is used in automated pipelines and the

--commit-hash parameter is populated from external, potentially untrusted sources. An attacker could exploit this to:

* Run any shell command.
* Exfiltrate environment variables.
* Compromise the CI runner to install backdoors or modify build artifacts.

Credits Disclosed responsibly by kny4hacker.

Mitigation
* Wrangler v4 users are requested to upgrade to Wrangler v4.59.1 or higher.
* Wrangler v3 users are requested to upgrade to Wrangler v3.114.17 or higher.
* Users on Wrangler v2 (EOL) should upgrade to a supported major version.

Affected products

VendorProductAffectedFixed
Cloudflare Wrangler v3.0.0 – ≤ v3.114.16, v4.0.0 – ≤ v4.59.0, v2.0.15+ —

Affected packages

EcosystemPackageAffectedFixedRecord
npm wrangler >= 2.0.15, < 3.114.17 3.114.17 GHSA-36p8-mvp6-cv38
npm wrangler >= 4.0.0, < 4.59.1 4.59.1 GHSA-36p8-mvp6-cv38

References