<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" version="2.0">
  <channel>
    <title>Most recent entries from all</title>
    <link>https://db.gcve.eu</link>
    <description>Contains only the most 10 recent entries.</description>
    <docs>http://www.rssboard.org/rss-specification</docs>
    <generator>python-feedgen</generator>
    <language>en</language>
    <lastBuildDate>Sat, 03 Oct 2026 09:49:11 +0000</lastBuildDate>
    <item>
      <title>fkie_cve-2026-45310</title>
      <link>https://db.gcve.eu/vuln/fkie_cve-2026-45310</link>
      <description>&lt;p&gt;CodeWhale is a DeepSeek + MiMo coding agent in terminal. Prior to 0.8.22, the fetch_url tool validates the initial URL&amp;#39;s resolved IP address against a restricted-IP blocklist (is_restricted_ip()) to prevent SSRF attacks against internal services (cloud metadata endpoints, localhost, private networks). However, the HTTP client (reqwest) is configured to automatically follow up to 5 redirects (reqwest::redirect::Policy::limited(5)) without re-validating the redirect target against the same SSRF protections. This vulnerability is fixed in 0.8.22.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;CodeWhale is a DeepSeek + MiMo coding agent in terminal. Prior to 0.8.22, the fetch_url tool validates the initial URL&amp;#39;s resolved IP address against a restricted-IP blocklist (is_restricted_ip()) to prevent SSRF attacks against internal services (cloud metadata endpoints, localhost, private networks). However, the HTTP client (reqwest) is configured to automatically follow up to 5 redirects (reqwest::redirect::Policy::limited(5)) without re-validating the redirect target against the same SSRF protections. This vulnerability is fixed in 0.8.22.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://db.gcve.eu/vuln/fkie_cve-2026-45310</guid>
    </item>
    <item>
      <title>GHSA-96ff-gc8g-wpvg — DeepSeek TUI has SSRF via HTTP Redirect Bypass in fetch_url Tool</title>
      <link>https://db.gcve.eu/vuln/ghsa-96ff-gc8g-wpvg</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; crates.io: deepseek-tui, crates.io: deepseek-tui-cli, npm: deepseek-tui&lt;/p&gt;
&lt;p&gt;### Summary
The `fetch_url` tool validates the initial URL&amp;#39;s resolved IP address against a restricted-IP blocklist (`is_restricted_ip()`) to prevent SSRF attacks against internal services (cloud metadata endpoints, localhost, private networks). However, the HTTP client (`reqwest`) is configured to automatically follow up to 5 redirects (`reqwest::redirect::Policy::limited(5)`) without re-validating the redirect target against the same SSRF protections.&lt;/p&gt;
&lt;p&gt;### PoC
**Step 1 — Baseline:** Confirm `fetch_url` blocks direct requests to restricted IPs.
```
Prompt: use fetch_url to fetch http://169.254.169.254/latest/meta-data/
Expected: Error — &amp;#34;restricted address (private/loopback/link-local)&amp;#34;
```&lt;/p&gt;
&lt;p&gt;**Step 2 — SSRF bypass via redirect:** Fetch a public URL that redirects to the restricted IP.&lt;/p&gt;
&lt;p&gt;```
Prompt: use fetch_url to fetch http://httpbin.org/redirect-to?url=http://169.254.169.254/latest/meta-data/&amp;amp;status_code=302
```&lt;/p&gt;
&lt;p&gt;**Expected result:** The error message says &amp;#34;connection refused&amp;#34; or &amp;#34;request failed: connect error&amp;#34; — NOT &amp;#34;restricted address.&amp;#34; This proves the SSRF filter was bypassed; the connection failed only because `169.254.169.254` is unreachable from a non-cloud machine.&lt;/p&gt;
&lt;p&gt;**Observed result:** `fetch_url` followed the 302 redirect and attempted to connect to `169.254.169.254`. The error was a TCP-level connection failure, confirming the application-layer SSRF check was not applied to the redirect target.&lt;/p&gt;
&lt;p&gt;**Step 3 — Redirect to attacker-controlled host:** Confirm attacker-…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; crates.io: deepseek-tui, crates.io: deepseek-tui-cli, npm: deepseek-tui&lt;/p&gt;
&lt;p&gt;### Summary
The `fetch_url` tool validates the initial URL&amp;#39;s resolved IP address against a restricted-IP blocklist (`is_restricted_ip()`) to prevent SSRF attacks against internal services (cloud metadata endpoints, localhost, private networks). However, the HTTP client (`reqwest`) is configured to automatically follow up to 5 redirects (`reqwest::redirect::Policy::limited(5)`) without re-validating the redirect target against the same SSRF protections.&lt;/p&gt;
&lt;p&gt;### PoC
**Step 1 — Baseline:** Confirm `fetch_url` blocks direct requests to restricted IPs.
```
Prompt: use fetch_url to fetch http://169.254.169.254/latest/meta-data/
Expected: Error — &amp;#34;restricted address (private/loopback/link-local)&amp;#34;
```&lt;/p&gt;
&lt;p&gt;**Step 2 — SSRF bypass via redirect:** Fetch a public URL that redirects to the restricted IP.&lt;/p&gt;
&lt;p&gt;```
Prompt: use fetch_url to fetch http://httpbin.org/redirect-to?url=http://169.254.169.254/latest/meta-data/&amp;amp;status_code=302
```&lt;/p&gt;
&lt;p&gt;**Expected result:** The error message says &amp;#34;connection refused&amp;#34; or &amp;#34;request failed: connect error&amp;#34; — NOT &amp;#34;restricted address.&amp;#34; This proves the SSRF filter was bypassed; the connection failed only because `169.254.169.254` is unreachable from a non-cloud machine.&lt;/p&gt;
&lt;p&gt;**Observed result:** `fetch_url` followed the 302 redirect and attempted to connect to `169.254.169.254`. The error was a TCP-level connection failure, confirming the application-layer SSRF check was not applied to the redirect target.&lt;/p&gt;
&lt;p&gt;**Step 3 — Redirect to attacker-controlled host:** Confirm attacker-…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://db.gcve.eu/vuln/ghsa-96ff-gc8g-wpvg</guid>
    </item>
  </channel>
</rss>
