Skip to main content

CodeWhale CVE-2026-75912

| EUVDEUVD-2026-60970 HIGH
Improper Neutralization of Argument Delimiters in a Command ('Argument Injection') (CWE-88)
2026-08-18 VulnCheck GHSA-c6mw-8xh8-gpq6
8.3
CVSS 4.0 · Vendor: VulnCheck
Share

Severity by source

Vendor (VulnCheck) PRIMARY
8.3 HIGH
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:H/VI:N/VA:N/SC:H/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
vuln.today AI
7.4 HIGH

Network-reachable, no auth required, passive user interaction needed; scope changes because stolen credentials impact systems beyond CodeWhale itself.

3.1 AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:N/A:N
4.0 AV:N/AC:L/AT:N/PR:N/UI:P/VC:H/VI:N/VA:N/SC:H/SI:N/SA:N

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
P
Scope
X

Lifecycle Timeline

3
Source Code Evidence Fetched
Aug 18, 2026 - 15:51 vuln.today
Analysis Generated
Aug 18, 2026 - 15:51 vuln.today
CVE Published
Aug 18, 2026 - 15:22 cve.org
HIGH 8.3

DescriptionCVE.org

CodeWhale versions before 0.8.64 contain an argument injection vulnerability in the git_blame tool that allows attackers to read arbitrary files by injecting git options into the unvalidated rev parameter. Attackers can supply rev values like --contents=/path/to/file to exfiltrate sensitive files such as SSH keys and credentials through the tool output returned to the model.

AnalysisAI

Argument injection in CodeWhale versions before 0.8.64 exposes arbitrary files on the host system by accepting unsanitized option-shaped values in the git_blame and git_show tools' rev parameter. An unauthenticated remote attacker who can influence the rev value - for example via a prompt injection payload in a malicious repository - can supply flags such as --contents=/home/user/.ssh/id_rsa, causing git to read and return the targeted file as tool output visible to the AI model. Vendor-released patch: 0.8.64 is available; no public exploit identified at time of analysis.

Technical ContextAI

CodeWhale is a Rust-based terminal UI application (crate path crates/tui/src/tools/git_history.rs) that wraps git operations as LLM-callable tools. The vulnerable components are GitBlameTool and GitShowTool, both of which accepted a caller-supplied rev string and interpolated it directly into git subprocess arguments without sanitization. CWE-88 (Improper Neutralization of Argument Delimiters in a Command) is the root cause: when user-controlled data is concatenated into a command argument list, a leading dash transforms the value into an option flag rather than a positional argument - in this case, git's --contents flag reads a file from the filesystem and returns its contents. The affected CPE is cpe:2.3:a:hmbown:codewhale:*:*:*:*:*:*:*:* covering all versions prior to 0.8.64. The fix (commit 9a34b5034d29f05d1f28fa61b04719ca6a741020) introduces a validate_git_rev function that rejects strings starting with a dash, as well as null bytes and ASCII control characters, before any git execution occurs.

RemediationAI

Upgrade CodeWhale to version 0.8.64 or later, which contains the input validation fix introduced in commit 9a34b5034d29f05d1f28fa61b04719ca6a741020. The fix is documented in the vendor advisory at https://github.com/Hmbown/CodeWhale/security/advisories/GHSA-c6mw-8xh8-gpq6 and the VulnCheck advisory at https://www.vulncheck.com/advisories/codewhale-before-argument-injection-via-git-blame. If an immediate upgrade is not possible, a specific compensating control is to restrict CodeWhale's use to trusted, internally controlled repositories only, preventing attacker-influenced content from reaching the git_blame or git_show tools. Additionally, running CodeWhale under a dedicated low-privilege user account with read-only access to only the necessary project directories limits the files an attacker can exfiltrate even if exploitation succeeds, though this does not prevent the vulnerability from being triggered.

Share

CVE-2026-75912 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy