CVE-2026-111451
7.8HighPublished 16 Oct 2026 · NVD status: Deferred · AI triage by gemini-3.8-flash
- Attack vector
- Local
- Complexity
- Low
- Privileges needed
- None
- User interaction
- Required
- Impact
- Full C/I/A compromise
- Weakness
- CWE-78
Impact
Attackers can execute arbitrary shell commands on deploy hosts and CI runners by injecting malicious input into branch names, CI variables, package contents, or via AI agent MCP tools. They can also overwrite files, terminate arbitrary processes, or trigger stored XSS through unencoded scaffold views.
Root cause
Wheels CLI fails to sanitize or escape user-supplied inputs and package contents used in shell commands, file path operations, and code generator templates.
Affected systems
Wheels CLI 4.0.0 through 4.1.1
CVSS v3.1 · CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
Fix & remediation
Upgrade Wheels CLI to version 4.1.2 or higher, and manually apply the documented encoding edits to any existing affected scaffold show and admin views.
AI-suggested. Run it in staging first and check it against the vendor advisory. Why?
NVD description
Wheels CLI 4.0.0 through 4.1.1 insufficiently validates or escapes caller-supplied values and package contents. Deploy release/version/rollback values can execute shell commands on deploy hosts as the SSH user and on the CI runner during builds. Package removal and destroy paths can delete unintended files; package extraction can overwrite other vendor files; generator names can write outside the project or inject executable CFML into generated code. Inputs may originate from CI variables, branch names, packages or an AI agent using the CLI's MCP tools. Also relevant are unencoded display properties in generated scaffold show views since 4.1.0 and in generated admin views, permitting stored XSS, and stale process-ID handling in RustCFML server commands that can terminate an unrelated process. This is fixed in 4.1.2; existing affected generated views also require the documented edit.