Server-Side Request Forgery in mcp-data-vis
A server-side request forgery (SSRF) vulnerability exists in AlejandroArciniegas' mcp-data-vis due to improper handling of HTTP requests, potentially allowing remote attackers to make arbitrary requests through the vulnerable server.
A server-side request forgery (SSRF) vulnerability has been identified in AlejandroArciniegas’ mcp-data-vis, specifically affecting versions up to commit de5a51525a69822290eaee569a1ab447b490746d. The vulnerability resides within the axios function in src/servers/web-scraper/server.js, a component responsible for handling HTTP requests. An attacker can exploit this flaw to force the server to make requests to arbitrary internal or external resources, potentially exposing sensitive information or allowing further exploitation of internal systems. The exploit has been publicly disclosed. The lack of versioning details due to the rolling release nature of the project makes it difficult to pinpoint specific affected releases.
Attack Chain
- The attacker identifies an endpoint in
mcp-data-visthat utilizes the vulnerableaxiosfunction withinsrc/servers/web-scraper/server.js. - The attacker crafts a malicious HTTP request to the identified endpoint, embedding a URL that points to an internal resource (e.g.,
http://localhost:6379/) or an external resource controlled by the attacker in the request parameters. - The
mcp-data-visserver, upon receiving the malicious request, processes the attacker-controlled URL using theaxiosfunction without proper validation or sanitization. - The
axiosfunction then initiates an HTTP request to the attacker-specified URL. - The server receives the response from the targeted resource.
- If the target is an internal service, the response might contain sensitive data such as configuration files, internal service status, or API keys.
- The
mcp-data-visapplication inadvertently returns the response from the internal/external resource to the attacker. - The attacker analyzes the response, extracts sensitive information, or leverages the SSRF vulnerability to further compromise the internal network or external targets.
Impact
Successful exploitation of this SSRF vulnerability could allow an attacker to read internal files, access internal services, and potentially gain unauthorized access to sensitive information. The lack of response from the project maintainers exacerbates the risk, leaving users vulnerable to attack. The specific impact will vary depending on the internal resources accessible from the mcp-data-vis server.
Recommendation
- Inspect all HTTP requests handled by
src/servers/web-scraper/server.jsfor potentially malicious URLs to detect exploitation attempts (see Sigma rule “Detect SSRF Attempts via HTTP Request Parameters”). - Deploy the Sigma rules provided to detect potential SSRF attempts targeting the mcp-data-vis application.
- Monitor network connections originating from the mcp-data-vis server for unusual outbound traffic to internal or external resources (see Sigma rule “Detect Outbound Connections from Web Scraper Server”).
Detection coverage 2
Detect SSRF Attempts via HTTP Request Parameters
highDetects potential SSRF attempts by identifying suspicious URLs in HTTP request parameters targeting the web scraper server.
Detect Outbound Connections from Web Scraper Server
mediumDetects outbound network connections originating from the web scraper server to unusual ports or internal IP addresses.
Detection queries are kept inside the platform. Get full rules →