Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessLure victim to attacker-controlled website
-
DeliveryDNS rebinds attacker origin to 127.0.0.1
-
ExploitBrowser bypasses same-origin policy
-
ExecutionSend requests to local MCP server
-
ImpactInvoke tools and access exposed resources
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A06:2021 - Vulnerable and Outdated Components
ASVS 5.0
V13 - Configuration Secure default settings
|
| Exploitation Conditions | Exploitation requires ALL of: (1) an MCP server using an HTTP-based transport - specifically StreamableHTTPServerTransport or SSEServerTransport (stdio transport is NOT affected); (2) that server bound to localhost; (3) the server running WITHOUT authentication; (4) enableDnsRebindingProtection left at its insecure default (disabled); and (5) the victim visiting an attacker-controlled website in a browser on the same host, which performs DNS rebinding to defeat the same-origin policy. Limiting factors that reduce realistic risk: the required user interaction of visiting a malicious page (UI:P), the attack-requirement of a functioning DNS rebinding setup (AT:P), the fact that stdio-based and authenticated servers are unaffected, and the vendor's explicit guidance that running unauthenticated HTTP MCP servers on localhost is against MCP security best practices - i.e., the vulnerable configuration is non-default and discouraged. |
| Impact | Signals conflict in a way that lowers real-world priority well below what the 7.6 'High' CVSS 4.0 base score suggests. The high score is driven by VC:H/VI:H (an attacker can invoke tools and read resources), but it is explicitly gated by AT:P (a specific attack requirement - a working DNS rebinding setup) and UI:P (the victim must be lured to a malicious website), and the vulnerable condition is a deployment the vendor explicitly discourages: an unauthenticated HTTP-based MCP server bound to localhost. The EPSS score is only 0.03% (8th percentile), indicating very low predicted exploitation likelihood, and the vulnerability is NOT in CISA KEV and has no public exploit identified - all consistent with this being a defense-in-depth hardening of an insecure default (CWE-1188) rather than an urgent, broadly-exploitable flaw. The CVSS vector (AV:N) and description agree that exploitation is browser-driven over the network, so there is no network-vs-local conflict. Net assessment: a legitimate but conditional issue; prioritize patching only where unauthenticated HTTP/SSE MCP servers are actually run on localhost, otherwise treat as low-urgency hygiene. |
| Exploit ScenarioDerived | A developer runs an MCP server locally over HTTP (StreamableHTTPServerTransport or SSEServerTransport) without authentication and without enabling DNS rebinding protection. While that server is running, the developer visits a malicious web page, which uses DNS rebinding to make the browser treat the attacker's origin as localhost, bypassing the same-origin policy and sending requests to the local MCP server to invoke its tools or read its resources on the user's behalf. No public exploit code is identified at time of analysis, and exploitation requires the victim to visit the attacker's site (UI:P) plus a functioning rebinding setup (AT:P). |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv2 – Oct 18, 2026
DNS rebinding against localhost-bound MCP TypeScript SDK servers (npm @modelcontextprotocol/sdk prior to 1.24.0) lets a malicious website bypass the browser same-origin policy and drive an unauthenticated MCP server on the user's machine, invoking exposed tools and reading resources on the victim's behalf. The flaw only materialises when an HTTP-based transport (StreamableHTTPServerTransport or SSEServerTransport) is bound to localhost, runs without authentication, and leaves enableDnsRebindingProtection at its insecure default; stdio-based and authenticated servers are unaffected, and the vendor notes that unauthenticated local HTTP servers violate MCP security best practices. The assessed vector is unauthenticated but requires the victim to visit an attacker-controlled page and a working DNS rebinding setup (CVSS 3.1 AV:N/AC:H/PR:N/UI:R, C:H/I:H/A:N), exploitation is not confirmed in the wild, no public exploit code was identified at time of analysis, and EPSS is only 0.03% (8th percentile).
Earlier versions of this analysis (1)
MCP TypeScript SDK is the official TypeScript SDK for Model Context Protocol servers and clients. Prior to 1.24.0, The Model Context Protocol (MCP) TypeScript SDK does not enable DNS rebinding protect
RemediationAI
Vendor-released patch: upgrade to @modelcontextprotocol/sdk 1.24.0 or later, which flips the default to protection-on for localhost bindings via createMcpExpressApp() and exports hostHeaderValidation() (patch commit 09623e2aa5044f9e9da62c73d820a8250b9d97ed, PR 1205, advisory https://github.com/modelcontextprotocol/typescript-sdk/security/advisories/GHSA-w48q-cv73-mx4w). Upgrading alone is insufficient for custom Express apps: replace hand-rolled express() + cors({origin:'*'}) setups with createMcpExpressApp(), or mount hostHeaderValidation(['localhost','127.0.0.1']) on the MCP route, or set enableDnsRebindingProtection: true together with an allowedHosts list on the transport. The trade-off of the allowlist is that legitimate access through alternate hostnames, reverse proxies, container names, or tunnels such as ngrok will start returning rejections until those hostnames are added, so inventory entry points before rolling it out. Where upgrading is not immediately possible, switch the server to stdio transport (removes the HTTP surface entirely but changes the client integration model), require authentication on the MCP endpoint, or bind nothing but loopback and instruct users not to keep such servers running while browsing; note that network firewalling does not help since the attack originates from the local browser itself. No vendor-released patch status caveats apply here - the fix version is confirmed at 1.24.0.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 2 packages in npm, euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The MCP TypeScript SDK is the official Node/TypeScript implementation of Model Context Protocol servers and clients, commonly layered on Express with the StreamableHTTPServerTransport or SSEServerTransport classes. Per CWE-1188 (insecure default initialization of a resource), the SDK shipped with enableDnsRebindingProtection disabled, so HTTP transports accepted requests on whatever Host header arrived. In a DNS rebinding attack the victim's browser resolves an attacker-controlled domain to 127.0.0.1 after the DNS TTL expires, so the page's scripts can issue same-origin requests to the locally running MCP endpoint and act as an authenticated-looking client despite the server never exposing itself to the network. The upstream fix introduces createMcpExpressApp(), which auto-enables host-header validation when bound to 127.0.0.1 or localhost (but intentionally not when binding 0.0.0.0), and exports a standalone hostHeaderValidation() middleware for custom Express setups; the commit also rewrites the bundled server examples to drop wide-open CORS (origin '*') and adopt the protected app factory. Because the fix is a middleware/default change rather than a sanitisation fix in the transport itself, applications that construct their own Express app and call the transports directly remain exposed even after upgrading unless they add the middleware or set the transport option explicitly. Servers using stdio transport share no HTTP surface and are out of scope.
Know when Mcp Typescript Sdk gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N
Browser-driven so AV:N; DNS rebinding setup makes AC:H; the localhost server is unauthenticated so PR:N; victim must visit a malicious site so UI:R; tool/resource access gives C:H/I:H, no availability impact.
Primary rating from Vendor (github).
CVSS VectorVendor: github
Lifecycle Timeline
4DescriptionCVE.org
MCP TypeScript SDK is the official TypeScript SDK for Model Context Protocol servers and clients. Prior to 1.24.0, The Model Context Protocol (MCP) TypeScript SDK does not enable DNS rebinding protection by default for HTTP-based servers. When an HTTP-based MCP server is run on localhost without authentication with StreamableHTTPServerTransport or SSEServerTransport and has not enabled enableDnsRebindingProtection, a malicious website could exploit DNS rebinding to bypass same-origin policy restrictions and send requests to the local MCP server. This could allow an attacker to invoke tools or access resources exposed by the MCP server on behalf of the user in those limited circumstances. Note that running HTTP-based MCP servers locally without authentication is not recommended per MCP security best practices. This issue does not affect servers using stdio transport. This vulnerability is fixed in 1.24.0.
Blast Radius
ecosystem impact- 42 npm packages depend on @modelcontextprotocol/sdk (34 direct, 9 indirect)
Ecosystem-wide dependent count for version 1.24.0.
Executive ViewAI
The MCP TypeScript SDK (@modelcontextprotocol/sdk) before version 1.24.0 contains a high-severity flaw that can let a malicious website interact with an unauthenticated local MCP server on a developer's machine, potentially invoking exposed tools and reading local resources. The issue affects organizations running HTTP-based MCP servers bound to localhost without authentication and with default DNS rebinding protection; stdio-based and authenticated servers are unaffected. Leadership should prioritize remediation because developer endpoints may hold sensitive access, although exploitation requires a victim to visit an attacker-controlled page and a working DNS rebinding setup, and no public exploit identified at time of analysis.
Apply vendor patch.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
More in Mcp Typescript Sdk
View allDenial of service in Anthropic's Model Context Protocol (MCP) TypeScript SDK versions up to and including 1.25.1 allows
MCP TypeScript SDK is the official TypeScript SDK for Model Context Protocol servers and clients. [CVSS 7.1 HIGH]
EUVD-2025-200274
GHSA-w48q-cv73-mx4w
NVD
CVE.org
EPSS
Exploit-DB