Średnia

MCP TypeScript SDK: Uwierzytelnianie bearer serwera akceptuje tokeny wystawione dla innych usług

  • Ujawniono: 20.10.2026
  • Aktualizacja: 20.10.2026 23:18

Podsumowanie

W wersjach objętych podatnością uwierzytelnianie bearer po stronie serwera w MCP TypeScript SDK nie weryfikowało, czy token został wystawiony dla danego serwera (weryfikacja odbiorcy / audience). W sytuacji, gdy jeden serwer autoryzacji wystawia tokeny dla wielu usług, prawidłowy token przeznaczony dla innej usługi był akceptowany również przez Twój serwer MCP.

Czy problem mnie dotyczy?

Podatność występuje, jeśli:

  • Serwer HTTP korzysta z requireBearerAuth() lub verifyBearerToken(),
  • Wykorzystywany serwer autoryzacji wystawia tokeny także dla innych usług oraz
  • Funkcja verifyAccessToken() nie weryfikuje samodzielnie odbiorcy tokena (aud).

Wersje objęte podatnością:

  • @modelcontextprotocol/sdk 1.6.0 do 1.31.0
  • @modelcontextprotocol/server 2.0.0 do 2.2.0
  • @modelcontextprotocol/express 2.0.0 do 2.0.1
  • @modelcontextprotocol/server-legacy 2.0.0 do 2.3.0

Co trzeba zrobić

Zaktualizuj do:

  • 1.x: @modelcontextprotocol/sdk 1.32.0 lub nowszej
  • 2.x: @modelcontextprotocol/server 2.3.0 lub nowszej, wraz z @modelcontextprotocol/express 2.0.2 lub nowszą, jeśli jest używana
  • @modelcontextprotocol/server-legacy 2.3.1 lub nowszej

Sama aktualizacja nie rozwiązuje problemu. Poprawione wersje wprowadzają ustawienie expectedResource, które domyślnie jest wyłączone. Aby włączyć weryfikację, należy wprowadzić obie poniższe zmiany łącznie:

  1. Przekaż odbiorcę (audience), którego serwer autoryzacji umieszcza w tokenach dla Twojego serwera: requireBearerAuth({ verifier, expectedResource: new URL('https://mcp.example.com/mcp') }).
  2. Zwróć odbiorcę tokena z verifyAccessToken() jako AuthInfo.resource, również jako URL.

Wówczas token przeznaczony dla innej usługi otrzyma 401. Przy wdrożeniu tylko pierwszej zmiany każde żądanie otrzyma 401.

Obejście: Jeśli natychmiastowa aktualizacja nie jest możliwa, odrzucaj każdy token, którego aud nie zawiera Twojego serwera wewnątrz verifyAccessToken(). Eliminuje to problem w każdej wersji.

Czego dotyczy

Kliknij technologię, aby zobaczyć wszystkie dotyczące jej podatności.

PlatformaPaczkaPodatne wersjePoprawka w wersji
Paczka npm @modelcontextprotocol/express >= 2.0.0, < 2.0.2 2.0.2
Paczka npm @modelcontextprotocol/sdk >= 1.6.0, < 1.32.0 1.32.0
Paczka npm @modelcontextprotocol/server >= 2.0.0, < 2.3.0 2.3.0
Paczka npm @modelcontextprotocol/server-legacy >= 2.0.0, < 2.3.1 2.3.1

Odnośniki

Ocena CVSS 6.8/10
Wektor CVSS
CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:N
Słabość (CWE)
CWE-863
Platforma
npm
Paczka
@modelcontextprotocol/express, @modelcontextprotocol/sdk, @modelcontextprotocol/server
Ujawniono
20.10.2026
Aktualizacja
20.10.2026 23:18

Źródła i licencje · Redakcja lub tłumaczenie: DockRay. Zachowano prawa źródeł i obowiązujące licencje.

OSV / GitHub Advisory Database - GHSA-rvq5-wwqv-78pq - CC BY 4.0

Historia podatności: @modelcontextprotocol/sdk

Wszystkie opisane podatności tej paczki (Paczka npm), od najnowszej. Widać, czy to jednorazowa wpadka, czy paczka, której trzeba pilnować.

Wszystkich wpisów
8
Pierwsza → ostatnia
12.2025 10.2026
Bez poprawki
0
Wykorzystywana w atakach
0

Rozkład istotności

  • Wysoka 6
  • Średnia 2

Ujawnienia w latach

  1. 2025: 1
  2. 2026: 7
  1. MCP TypeScript SDK: Uwierzytelnianie bearer serwera akceptuje tokeny wystawione dla innych usług ten wpis
    Średnia · 6.8 CVE-2026-111771 >= 1.6.0, < 1.32.0 1.32.0
  2. Wysoka CVE-2026-0621 >= 1.3.0, < 1.25.2 1.25.2

Dowiedz się, które podatności dotyczą Twojej aplikacji

Po podłączeniu integracji DockRay i włączeniu raportowania oprogramowania DockRay porównuje zgłoszone wersje komponentów ze znanymi podatnościami i powiadamia o potwierdzonych dopasowaniach. Zakres zależy od obsługiwanej technologii i dostępnych biuletynów.

Podłącz swoją aplikację
Newsletter DockRay

Bezpieczeństwo aplikacji w Twojej skrzynce

Najważniejsze podatności, konkretne zalecenia i praktyczne wskazówki dla Twoich aplikacji. Wybierz technologie i śledź to, co ma znaczenie dla Twojego projektu.

  • Codzienne zestawienie nowych podatności, także krytycznych.
  • Powiadomienia o ważnych aktualizacjach.
  • Praktyczne porady o bezpieczeństwie i monitoringu aplikacji.

Pozostaw puste, aby otrzymywać informacje o wszystkich technologiach.

Zapis jest bezpłatny. Wypiszesz się jednym kliknięciem w wiadomości.