Skip to content

Commit 6636456

Browse files
committed
docs(mcp): note AbortSignal does not bound SSRF-guard DNS lookup
1 parent 07fd134 commit 6636456

1 file changed

Lines changed: 6 additions & 0 deletions

File tree

apps/sim/lib/mcp/pinned-fetch.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,12 @@ export function createMcpPinnedFetch(resolvedIP: string): FetchLike {
6767
* per request and rejects private/reserved/loopback targets (honoring
6868
* `ALLOWED_MCP_DOMAINS` and self-hosted localhost rules).
6969
*
70+
* Note: a caller-provided `AbortSignal` in `init` only bounds the HTTP request,
71+
* not the validation DNS lookup — Node's `dns.lookup` does not accept a signal,
72+
* so a hanging resolution can extend the overall call past the caller's timeout
73+
* by up to the OS DNS timeout. Acceptable here because all consumers are
74+
* best-effort, non-blocking flows (OAuth discovery and RFC 7009 revocation).
75+
*
7076
* @throws McpSsrfError if a request URL resolves to a blocked IP address
7177
*/
7278
export function createSsrfGuardedMcpFetch(): FetchLike {

0 commit comments

Comments
 (0)