SSRF via DNS-resolution gap in _validate_url_security (file download by URL)
Key facts
- Attack vector
- Network
- Privileges required
- Low
- User interaction
- None
- Attack complexity
- Low
- Impact type
- —
- Confidentiality · integrity · availability
- High · Low · None
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA.
Summary
fast-mcp-telegram is a Telegram MCP Server. Prior to version 30.1, the send_message/send_message_to_phone MCP tools accept files as a list of http(s) URLs, which the server downloads and attaches to the outgoing Telegram message. Downloads are guarded by _validate_url_security, an SSRF denylist that checks the URL's literal hostname string but never resolves DNS. The fetch (httpx.AsyncClient.get) does its own resolution at request time. Consequently a hostname that resolves to a loopback / private / link-local address passes the guard and is fetched — even with the secure defaults block_private_ips=True and allow_http_urls=False. Because the fetched body is returned to the attacker as a Telegram file attachment, this is a full-read, exfiltrating SSRF, not blind. This issue has been patched in version 30.1.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- Poc
- Automatable
- No
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| leshchenko1979 | fast-mcp-telegram | before 30.1 | 30.1 | Patch available | CNA |
- fast-mcp-telegram Vendorleshchenko1979 Affected before 30.1 Fixed in 30.1 Patch available CNA
Remediation
- Fix · CNA fast-mcp-telegram (leshchenko1979) Fixed in 30.1
Timeline
- 2026-10-02 Threatist record created from CVE-2026-55096
References
More leshchenko1979 vulnerabilities
- TI-2026-37938 fast-mcp-telegram: Bearer token path traversal bypasses reserved Telegram session protection CVSS 3.1CRITICAL 9.4
Sources
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences