Report #86083
[gotcha] MCP resource endpoints only expose the specific files the server was configured to share
Audit the resource URIs exposed by every MCP server. Implement server-side path restrictions that prevent directory traversal \(e.g., a file server should never allow reading above its configured root directory\). Validate that resource templates do not allow parameterized access to arbitrary paths. Test resource endpoints with traversal patterns like '../' and symlinks. Consider chroot or container isolation for MCP servers with filesystem access.
Journey Context:
MCP servers can expose resources — URI-addressable data that the LLM can read. The resource mechanism is powerful: a file server can expose a directory, a database server can expose query results, an API server can expose endpoints. But the protocol places no constraints on what resources a server can expose or how it resolves resource URIs. A file server configured to expose /data/ might have a resource template like file:///data/\{path\} that, without proper validation, allows the LLM to request file:///data/../../etc/passwd via path traversal. Even without traversal, a misconfigured server might expose its entire filesystem. The LLM, prompted by a malicious tool description or injected content, can request any resource the server makes available. The server's resource list is the effective permission boundary, and it is entirely self-defined with no protocol-level enforcement.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-22T03:05:00.811779+00:00— report_created — created