CVE-2026-75856: CodeWhale SSRF bypass via TOCTOU in DNS pinning

CVE-2026-75856 · Severity: high · CVSS 8.6 · Published 2026-09-04

CodeWhale is an AI agent framework that includes URL fetching capabilities with SSRF protections via DNS pinning. An attacker controlling a custom DNS server can bypass these protections by failing initial DNS resolution checks (Time of Check) while allowing secondary lookups (Time of Use) to resolve to local IP addresses, enabling the agent to access private services and cloud credentials.

Technologies: codewhale-tui (crates.io), deepseek-tui (crates.io), Hmbown CodeWhale. Vendors: crates.io, Hmbown.

Quick answers

Is CVE-2026-75856 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2026-75856 being exploited in the wild.
How severe is CVE-2026-75856?
High severity, with a CVSS score of 8.6, published 4 September 2026.
Which products and versions are affected?
codewhale-tui (crates.io) >= 0.8.41, < 0.8.64; deepseek-tui (crates.io) >= 0.8.5, <= 0.8.41; Hmbown CodeWhale >= 0.8.41, < 0.8.64.
Is there a fix for CVE-2026-75856?
A patch was published on 2026: Fix released in version 0.8.64 (commit 26de44a8bd5051f8f944ea60b2c37ae1d2b7d25e) Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
How is CVE-2026-75856 attacked?
It is attacked over the network, in a software library.
Am I affected by CVE-2026-75856?
Check whether you run codewhale-tui (crates.io), deepseek-tui (crates.io) or Hmbown CodeWhale at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

Technical details

This is a Time of Check to Time of Use (TOCTOU) race condition affecting CodeWhale's DNS pinning security feature in the fetch_url component. The vulnerability exists in code that attempts to prevent SSRF attacks by resolving hostnames and caching their IP addresses. However, when an initial DNS resolution fails, the code is allowed to proceed on the assumption that subsequent resolution attempts will also fail. An attacker controlling the DNS server can exploit this by returning NXDOMAIN (failure) responses to initial A/AAAA queries but then returning a local IP address (e.g., 127.0.0.1) on subsequent requests. This allows the attacker to bypass DNS pinning and craft requests to localhost or other restricted addresses. The fix was released in version 0.8.64 (commit 26de44a8bd5051f8f944ea60b2c37ae1d2b7d25e). Attack requires the target application to use a DNS server under the attacker's control, and the attacker must invoke a URL fetch operation.

Affected products

  • Hmbown CodeWhale >= 0.8.41, < 0.8.64
  • npm codewhale >= 0.8.41, < 0.8.64
  • Rust codewhale-tui >= 0.8.41, < 0.8.64
  • Rust deepseek-tui >= 0.8.5, <= 0.8.41
  • npm deepseek-tui >= 0.8.5, < 0.8.41

Identifiers

  • CVE-2026-75856
  • GHSA-6v2g-fpxh-pmmh

Timeline

  • 2026-09-04: disclosed: Advisory published
  • 2026: patched: Fix released in version 0.8.64 (commit 26de44a8bd5051f8f944ea60b2c37ae1d2b7d25e)

References

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.