criticalCVSS 8.6Vulnerability

CVE-2026-75856

### Maintainer resolution The CodeWhale maintainers validated this report. The affected package ranges are recorded in the advisory metadata. Version 0.8.64 contains the fix in commit 26de44a8bd5051f8f944ea60b2c37ae1d2b7d25e. Users should upgrade to 0.8.64 or later. The original reporter analysis is preserved below. ### Summary DNS-pinning failure allows natural failure of code, however with a custom DNS server that fails the initial requests and allows the secondary requests, it's possible to bypass the logic. ### Details Simplified attack scenario: 1. Attacker asks agent to visit the `mydomain.com`. 2. CodeWhale tries to resolve the IP of `mydomain.com`, however, the custom DNS server that's controlled by the attacker marks the request DNS‌ query as failed (Time of Check). 3. CodeWhale allows the code to continue as it expects it request to fail again. 4. On the secondary (Time of Use), the DNS server resolves mydomain.com to a local IP (e.g., 127.0.0.1) 5. The request is executed and the content from port 80 is returned to the attacker, allowing full bypass of SSRF mitigations. In the [DNS-pinning](https://github.com/Hmbown/CodeWhale/blob/8dff2f7525ead210a01347b48f53ae3f20d094ec/crates/tui/src/tools/fetch_url.rs#L362) section, when DNS fails, the code is allowed to continue as it's expected to fail. However ### PoC This is a custom DNS server that fails the first requests (in this case, the first and second requests must fail, while the 3rd and 4th are allowed due to A and AAAA DNS queries). Here is the code for the DNS‌ server(for PoC, should be placed in `dnser/dns_resolver.py`: ```python #!/usr/bin/env python3 """ Local DNS Resolver — customizable request/response handling. Uses only the standard library + dnslib. Usage: pip install dnslib sudo python dns_resolver.py # binds to 0.0.0.0:53 by default python dns_resolver.py --port 5353 # unprivileged port for testing """ import argparse import socket import threading from dnslib i

Properties

severity
critical
summary
CodeWhale: SSRF‌ bypass - TOCTOU on DNS failure for DNS pinning
epss_score
0.0037
cvss_score
8.6
ghsa_published
2026-09-04T18:05:12Z
source_url
https://github.com/advisories/GHSA-6v2g-fpxh-pmmh
ghsa_updated
2026-09-04T18:05:13Z
ghsa_id
GHSA-6v2g-fpxh-pmmh
cve_id
CVE-2026-75856
cvss_vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N
is_ghsa_only
false
epss_percentile
0.30084

Related Entities (11)

ENRICHED_BY (1)

[Source]FIRST EPSS

REPORTED_BY (1)

[Source]GitHub Advisory Database

VULNERABLE_TO (4)

[Software]npm/deepseek-tui
[Software]npm/codewhale
[Software]rust/codewhale-tui
[Software]rust/deepseek-tui

AFFECTS (4)

[Software]rust/codewhale-tui
[Software]npm/deepseek-tui
[Software]npm/codewhale
[Software]rust/deepseek-tui

HAS_WEAKNESS (1)

[Weakness]Server-Side Request Forgery (SSRF)

Explore deeper with Ninja Signal's threat intelligence graph

CVE-2026-75856 (CVSS 8.6) — Ninja Signal Threat Intelligence | Ninja Signal