Skip to main content

CodeWhale EUVDEUVD-2026-60963

| CVE-2026-75856 CRITICAL
Server-Side Request Forgery (SSRF) (CWE-918)
2026-08-18 VulnCheck GHSA-6v2g-fpxh-pmmh
9.2
CVSS 4.0 · Vendor: VulnCheck
Share

Severity by source

Vendor (VulnCheck) PRIMARY
9.2 CRITICAL
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/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
6.8 MEDIUM

Network-reachable and unauthenticated (PR:N), but reliable exploitation needs DNS control and a TOCTOU race (AC:H); SSRF reaches other internal systems (S:C) exposing data (C:H) with no integrity/availability impact.

3.1 AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:N/A:N
4.0 AV:N/AC:H/AT:N/PR:N/UI:N/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
None
Scope
X

Lifecycle Timeline

3
Source Code Evidence Fetched
Aug 18, 2026 - 15:46 vuln.today
Analysis Generated
Aug 18, 2026 - 15:46 vuln.today
CVE Published
Aug 18, 2026 - 15:21 cve.org
CRITICAL 9.2

DescriptionCVE.org

CodeWhale before 0.8.64 contains a server-side request forgery bypass vulnerability in DNS pinning logic that fails to prevent time-of-check-time-of-use attacks. Attackers can manipulate DNS responses to fail initial resolution checks and succeed on secondary requests, allowing requests to internal IP addresses and bypassing SSRF mitigations.

AnalysisAI

Server-side request forgery in CodeWhale before 0.8.64 lets remote attackers reach internal-only IP addresses through the agent's fetch_url tool by exploiting a time-of-check-time-of-use gap in its DNS-pinning defense. Because the pre-fetch validator treated a failed DNS lookup as a pass-through ('let the HTTP request proceed and fail naturally'), an attacker who controls DNS responses can make the safety check see a non-resolving or benign answer while the real request resolves to an internal address, bypassing the SSRF allow/deny policy. No public exploit identified at time of analysis; a vendor patch and fix commit exist, and the issue was reported by VulnCheck.

Technical ContextAI

CodeWhale is a Rust-based terminal AI coding agent (code under crates/tui). Its fetch_url tool is supposed to prevent SSRF by resolving the target host and validating each resolved IP against a network policy (validate_dns_resolved_ip) before making the outbound HTTP request - a DNS-pinning pattern. The root cause is CWE-918 (SSRF) manifesting as a TOCTOU flaw: the vulnerable validate_fetch_target wrapped resolution in if let Ok(addrs), so when the preflight lookup failed it fell through and returned an un-pinned target (Ok(None)), and the comment explicitly deferred to letting the HTTP layer resolve again later. Between the check and the use, DNS can return different data (classic DNS rebinding / response manipulation), so the enforced IP need not match the fetched IP. The patched code makes a failed lookup a hard permission_denied error and requires at least one validated address before proceeding.

RemediationAI

Vendor-released patch: upgrade to CodeWhale 0.8.64 or later, which changes validate_fetch_target to reject hosts that fail DNS preflight and to require a validated resolved address before any fetch (fix commit 26de44a8bd5051f8f944ea60b2c37ae1d2b7d25e; advisory GHSA-6v2g-fpxh-pmmh). If you cannot upgrade immediately, restrict the agent's outbound network path: run CodeWhale behind an egress proxy or firewall that denies traffic to RFC1918/link-local ranges (notably 169.254.169.254 cloud metadata, 127.0.0.0/8, 10/8, 172.16/12, 192.168/16), which neutralizes the SSRF target set at the cost of blocking any legitimate internal fetches; and constrain or disable the fetch_url tool for untrusted sessions, accepting reduced functionality. These controls compensate for the TOCTOU by enforcing the internal-IP block at the network boundary rather than inside the resolver.

Share

EUVD-2026-60963 vulnerability details – vuln.today

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