Skip to content

fix: the fetch mcp server accepts a user-controlled ... in server.py#4061

Open
orbisai0security wants to merge 1 commit intomodelcontextprotocol:mainfrom
orbisai0security:fix-ssrf-private-ip-block-v001
Open

fix: the fetch mcp server accepts a user-controlled ... in server.py#4061
orbisai0security wants to merge 1 commit intomodelcontextprotocol:mainfrom
orbisai0security:fix-ssrf-private-ip-block-v001

Conversation

@orbisai0security
Copy link
Copy Markdown

Summary

Fix critical severity security issue in src/fetch/src/mcp_server_fetch/server.py.

Vulnerability

Field Value
ID V-001
Severity CRITICAL
Scanner multi_agent_ai
Rule V-001
File src/fetch/src/mcp_server_fetch/server.py:99

Description: The Fetch MCP server accepts a user-controlled URL parameter and passes it directly to an HTTP client with only a robots.txt check as a security control. Internal services do not serve robots.txt, causing the check to fail open and permit requests to cloud metadata endpoints (e.g., http://169.254.169.254/latest/meta-data/ for AWS IAM credentials), loopback addresses (e.g., http://localhost:6379 for Redis), and RFC-1918 private IP ranges. Any connected MCP client can exploit this without authentication.

Changes

  • src/fetch/src/mcp_server_fetch/server.py

Verification

  • Build passes
  • Scanner re-scan confirms fix
  • LLM code review passed

Automated security fix by OrbisAI Security

Automated security fix generated by Orbis Security AI
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant