OS Command Injection in `wrangler pages deploy`
High7.7CVE-2026-0933 · Published Jan 21, 2026
**Summary** A 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 cause** The `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. **Impact** This 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. **Mitigat...
Affected versions
| Package | Affected | Fixed in |
|---|---|---|
| wrangler npm | >= 2.0.15, < 4.59.1 | 4.59.1 |
Details and references
**Summary** A 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 cause** The `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. **Impact** This 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. **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. **Credits** Disclosed responsibly by kny4hacker.
- CVSS 4.0
- CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:H/VI:H/VA:H/SC:L/SI:L/SA:N
- Severity from
- GitHub (reviewed advisory)
- Weakness
- CWE-78
More Cloudflare advisories
All Cloudflare| Date | Advisory | Severity | Fixed in |
|---|---|---|---|
| Mar 5 | Cache poisoning via insecure-by-default cache key | High8.4 | 0.8.0 |
| Mar 5 | HTTP Request Smuggling via HTTP/1.0 and Transfer-Encoding Misparsing | Critical9.3 | 0.8.0 |
| Mar 5 | HTTP Request Smuggling via Premature Upgrade | Critical9.3 | 0.8.0 |
| Feb 24 | Incorrect calculation in circl secp384r1 CombinedMult | Low | 1.6.3 |
| Nov 42025 | Missing validation of redirect_uri on OAuth callback handler | Medium4.8 | upgradetoversionSHAf7c11c87ef48e9fd898b9d1ebea75078b7279728o... |
| Sep 172025 | Pingora update for MadeYouReset HTTP/2 vulnerability | High8.2 | 0.6.0 |