CVE-2026-104850
WysokieCVSS 7.5Streszczenie
MCP TypeScript SDK w wersjach od 1.12.0 przed 1.31.0 i 2.2.0 pozwala serwerowi MCP, do którego klient się podłącza, decydować, który serwer autoryzacji otrzyma poświadczenia OAuth klienta. Przechowywane i wstępnie zaopatrzone poświadczenia nie były powiązane z serwerem autoryzacji, do którego należą. Złośliwy lub skompromitowany serwer MCP może wskazać własny serwer autoryzacji w metadanych chronionego zasobu. Bez interakcji użytkownika klient wysyłałby temu serwerowi `refresh_token` i `client_secret` zapisane z wcześniejszego logowania (1.x) lub skonfigurowany `client_secret` lub podpisaną asercję z dołączonego nieinteraktywnego dostawcy (1.x i 2.x). Dotyczy to tylko aplikacji używających SDK jako klienta MCP przez HTTP z `authProvider`: własnym `OAuthClientProvider` lub dołączonym `ClientCredentialsProvider`, `PrivateKeyJwtProvider`, `StaticPrivateKeyJwtProvider` lub (2.x) `CrossAppAccessProvider` i które mogą łączyć się z serwerem MCP, któremu właściciele nie ufają w pełni, trzymając poświadczenia dla legalnego serwera autoryzacji. `@modelcontextprotocol/sdk` 1.31.0 (1.x) i `@modelcontextprotocol/client` 2.2.0 (2.x) łatają problem. Dostępny jest workaround dla tych, którzy nie mogą zaktualizować. 2.0.0 i 2.1.0 już akceptują `expectedIssuer`. W 1.x jedynym workaroundem jest łączenie klientów z włączonym OAuth tylko z zaufanymi serwerami MCP.
Ocena ryzyka
Ujawnienie poświadczeń OAuth (tokenów odświeżania, sekretów klienta) złośliwemu serwerowi może prowadzić do nieautoryzowanego dostępu do zasobów chronionych i naruszenia bezpieczeństwa kont.
Rekomendacja
Zaktualizuj @modelcontextprotocol/sdk do wersji 1.31.0 (dla 1.x) lub @modelcontextprotocol/client do wersji 2.2.0 (dla 2.x). Jeśli nie możesz zaktualizować, łącz klientów OAuth tylko z zaufanymi serwerami MCP.
Inne podatności w MCP TypeScript SDK
Zobacz wszystkie- CVE-2026-25536Wysokie
Podatność w MCP TypeScript SDK umożliwia wyciek danych odpowiedzi między klientami, gdy pojedyncza instancja serwera i transportu jest współdzielona przez wiele połączeń klienckich. Problem występuje w wersjach od 1.10.0 do 1.25.3, szczególnie w bezstanowych wdrożeniach StreamableHTTPServerTransport.
- CVE-2026-0621Wysokie
Podatność ReDoS w bibliotece MCP TypeScript SDK od Anthropic (wersje do 1.25.1 włącznie) występuje w klasie UriTemplate podczas przetwarzania wzorców tablicowych RFC 6570. Dynamicznie generowane wyrażenie regularne zawiera zagnieżdżone kwantyfikatory, które mogą prowadzić do katastroficznego cofania się na specjalnie spreparowanych danych wejściowych, powodując nadmierne zużycie CPU.
Oryginalny opis (angielski, źródło NVD)
MCP TypeScript SDK is the official TypeScript SDK for Model Context Protocol servers and clients. Starting in version 1.12.0 and prior to versions 1.31.0 and 2.2.0, the SDK's OAuth client support let the MCP server a client connected to decide which authorization server received the client's OAuth credentials. Stored and pre-provisioned credentials were not bound to the authorization server they belong to. A malicious or compromised MCP server could name its own authorization server in its protected resource metadata. Without any user interaction, the client would send that server the `refresh_token` and `client_secret` stored from an earlier sign-in (1.x), or the configured `client_secret` or signed assertion of a bundled non-interactive provider (1.x and 2.x). Only those applications that use the SDK as an MCP client over HTTP with an `authProvider`: your own `OAuthClientProvider`, or the bundled `ClientCredentialsProvider`, `PrivateKeyJwtProvider`, `StaticPrivateKeyJwtProvider` or (2.x) `CrossAppAccessProvider` and that may connect to an MCP server the owners does not fully trust while holding credentials for a legitimate authorization server are affected. `@modelcontextprotocol/sdk` 1.31.0 (1.x) and `@modelcontextprotocol/client` 2.2.0 (2.x) patch the issue. A workaround for those who cannot upgrade is available. 2.0.0 and 2.1.0 already accept `expectedIssuer`. On 1.x, the only workaround is to connect OAuth-enabled clients only to MCP servers you trust.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

