Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/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
Network delivery via crafted repo, but user must open project (UI:R); no privileges on victim system needed; confidentiality only.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
Lifecycle Timeline
3DescriptionCVE.org
CodeWhale versions before 0.8.64 contain a path traversal vulnerability in the image_analyze tool that fails to canonicalize symlinks before reading files. Attackers can create workspace symlinks pointing to external files with image extensions to leak file bytes to the vision endpoint without user approval.
AnalysisAI
Unauthenticated file disclosure in CodeWhale before 0.8.64 allows arbitrary local file reads via the image_analyze tool's failure to resolve symbolic links before enforcing workspace boundaries. An attacker who can place a crafted symlink (named with an image extension) inside a victim's workspace - for example via a malicious git repository - can cause CodeWhale's vision endpoint to read and transmit the symlink target's bytes without user approval. No CISA KEV listing or public exploit has been identified, but the CVSS 4.0 score of 8.7 and high confidentiality impact make this a meaningful risk for developers who open untrusted projects in CodeWhale.
Technical ContextAI
CodeWhale (CPE: cpe:2.3:a:hmbown:codewhale:*:*:*:*:*:*:*:*) is a Rust-based TUI AI coding assistant. The vulnerable component is the image_analyze tool in crates/tui/src/vision/tools.rs. Prior to 0.8.64, path validation checked for explicit traversal components (RootDir, ParentDir, Prefix) using Path::components() but then joined the user-supplied path directly to the workspace root without calling canonicalize() - meaning symbolic links inside the workspace were followed by the OS after the boundary check passed. CWE-22 (Improper Limitation of a Pathname to a Restricted Directory) precisely describes this class: syntactic path validation is insufficient when the filesystem resolves indirection at read time. The fix in commit 26de44a8 introduces a resolve_image_path() helper that canonicalizes both the workspace root and the joined candidate path, then asserts the fully resolved path still falls under the workspace prefix - correctly defeating symlink escapes.
RemediationAI
Upgrade to CodeWhale 0.8.64 or later, which incorporates the fix from commit 26de44a8bd5051f8f944ea60b2c37ae1d2b7d25e (https://github.com/Hmbown/CodeWhale/commit/26de44a8bd5051f8f944ea60b2c37ae1d2b7d25e). The patch is confirmed available per vendor advisory at https://github.com/Hmbown/CodeWhale/security/advisories/GHSA-w7wx-5q49-r59w. If immediate upgrade is not possible, the most effective compensating control is to avoid opening untrusted or externally sourced repositories in CodeWhale until patched; organizations can enforce this via policy restricting CodeWhale use to internally audited codebases. Disabling the image_analyze tool at the configuration level, if supported, would also eliminate the vulnerable code path without affecting other functionality - verify whether CodeWhale's tool permissions allow this. Note that simply auditing workspace contents for symlinks before use is operationally fragile and should not be relied upon as a sole control.
Server-side request forgery in CodeWhale before 0.8.64 lets remote attackers reach internal-only IP addresses through th
Environment variable inheritance in CodeWhale's js_execution tool prior to version 0.8.64 allows crafted JavaScript payl
Arbitrary file read in CodeWhale before version 0.8.64 allows an attacker to exfiltrate files from a developer's worksta
Argument injection in CodeWhale's git_show tool (versions 0.8.41-0.8.63) allows an attacker to cause arbitrary file writ
Remote code execution in CodeWhale (packages codewhale and codewhale-tui) versions 0.8.41 through 0.8.63 allows an attac
Shell command injection in CodeWhale before version 0.8.64 enables arbitrary code execution on a victim developer's mach
Argument injection in CodeWhale versions before 0.8.64 exposes arbitrary files on the host system by accepting unsanitiz
Prompt-injection-driven privilege escalation in CodeWhale 0.8.41-0.8.63 allows an attacker who can place malicious instr
Same weakness CWE-22 – Path Traversal
View allSame technique Path Traversal
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-60972
GHSA-w7wx-5q49-r59w