| Title | dmitryglhf mcp-url-downloader 0.1.0 Server-Side Request Forgery |
|---|
| Description | mcp-url-downloader attempts to defend against SSRF by resolving the caller-supplied URL and blocking localhost, RFC1918, and link-local addresses. However, the protection is only applied to the original URL. The actual download code creates an httpx.AsyncClient(..., follow_redirects=True) and performs both HEAD and GET requests without validating the redirect targets.
As a result, an attacker can supply a publicly reachable URL they control that responds with 302 or 307 redirects to an internal resource such as http://127.0.0.1:8080/, http://x.x.x.x/latest/meta-data/, or another private service reachable from the host. The downloader will follow the redirect automatically and save the internal response body to disk.
|
|---|
| Source | ⚠️ https://github.com/dmitryglhf/url-download-mcp/issues/2 |
|---|
| User | SmallW (UID 97245) |
|---|
| Submission | 04/10/2026 13:33 (18 days ago) |
|---|
| Moderation | 04/26/2026 22:12 (16 days later) |
|---|
| Status | Accepted |
|---|
| VulDB entry | 359757 [dmitryglhf mcp-url-downloader up to 4b8cf2de55f6e8864a77d108e8a94a5b8e4394c6 server.py _validate_url_safe url server-side request forgery] |
|---|
| Points | 20 |
|---|