Średnia

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

  • Ujawniono: 20.10.2026
  • Aktualizacja: 21.10.2026 10:00

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
21.10.2026 10:00

Ź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/express

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

To jedyna znana podatność tej paczki.

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.