DeepSeek TUI SSRF Vulnerability via HTTP Redirect Bypass (CVE-2026-45310)
DeepSeek TUI is vulnerable to a Server-Side Request Forgery (SSRF) attack (CVE-2026-45310) because the `fetch_url` tool validates the initial URL against a restricted-IP blocklist but fails to re-validate redirect targets, allowing attackers to exfiltrate sensitive information from cloud-hosted instances by using a redirect to a restricted IP address.
DeepSeek TUI is vulnerable to a Server-Side Request Forgery (SSRF) vulnerability (CVE-2026-45310) in versions prior to 0.8.22. The vulnerability exists in the fetch_url tool, which is intended to prevent SSRF attacks by validating the initial URL’s resolved IP address against a restricted-IP blocklist. However, the HTTP client (reqwest) is configured to automatically follow up to 5 redirects without re-validating the redirect target against the same SSRF protections. This allows an attacker to bypass the SSRF protection by using a redirect to a restricted IP address. The attack is triggered via prompt injection, where malicious instructions embedded in files or web content cause the model to call fetch_url with an attacker-controlled URL. This allows an attacker to exfiltrate sensitive information from cloud-hosted instances.
Attack Chain
- The attacker identifies a DeepSeek TUI instance running a vulnerable version (< 0.8.22).
- The attacker crafts a prompt containing a malicious URL that exploits the
fetch_urltool. This prompt could be injected via a file or web content processed by the model. - The malicious URL points to a publicly accessible server (e.g., httpbin.org) configured to redirect the request.
- The redirect target is a restricted IP address, such as a cloud metadata endpoint (e.g.,
http://169.254.169.254/latest/meta-data/). - DeepSeek TUI’s
fetch_urltool validates the initial URL, which passes the SSRF filter because it points to a public domain. - The
reqwestHTTP client automatically follows the redirect to the restricted IP address without re-validating against the SSRF filter. - The
fetch_urltool connects to the restricted IP address and retrieves sensitive data, such as cloud IAM credentials or instance metadata. - The attacker exfiltrates the retrieved data, potentially gaining unauthorized access to cloud resources or sensitive information.
Impact
Successful exploitation of this SSRF vulnerability (CVE-2026-45310) allows an attacker to bypass intended security controls and access internal services. On cloud-hosted instances (AWS, GCP, Azure), an attacker can exfiltrate cloud IAM credentials, instance metadata, and other sensitive internal service data by redirecting fetch_url to http://169.254.169.254/latest/meta-data/. This can lead to privilege escalation, data breaches, and unauthorized access to sensitive resources.
Recommendation
- Upgrade to DeepSeek TUI version 0.8.22 or later to patch the SSRF vulnerability (CVE-2026-45310).
- Implement input validation and sanitization to prevent prompt injection attacks that could trigger the
fetch_urltool with malicious URLs. - Monitor network connections originating from DeepSeek TUI instances for connections to internal IP addresses, as indicated in the IOCs.
- Deploy the Sigma rule to detect attempts to bypass the SSRF filter by redirecting to restricted IP addresses.
Detection coverage 2
Detect SSRF Attempt via Redirect to Restricted IP - Initial Request
highDetects CVE-2026-45310 exploitation — initial HTTP request to a public URL that redirects to a restricted IP address.
Detect SSRF Attempt via Redirect to Restricted IP - Connection to Restricted IP
highDetects CVE-2026-45310 exploitation — attempts to connect to a restricted IP address after a redirect, indicating potential SSRF bypass.
Detection queries are available on the platform. Get full rules →
Indicators of compromise
1
ip
2
url
| Type | Value |
|---|---|
| ip | 169.254.169.254 |
| url | http://httpbin.org/redirect-to?url=http://169.254.169.254/latest/meta-data/&status_code=302 |
| url | http://httpbin.org/redirect-to?url=http://[collaborator-domain]/ssrf-redirect-bypass&status_code=302 |