MCP TypeScript SDK: Uwierzytelnianie bearer serwera akceptuje tokeny wystawione dla innych usług
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()lubverifyBearerToken(), - 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/sdk1.6.0 do 1.31.0@modelcontextprotocol/server2.0.0 do 2.2.0@modelcontextprotocol/express2.0.0 do 2.0.1@modelcontextprotocol/server-legacy2.0.0 do 2.3.0
Co trzeba zrobić
Zaktualizuj do:
- 1.x:
@modelcontextprotocol/sdk1.32.0 lub nowszej - 2.x:
@modelcontextprotocol/server2.3.0 lub nowszej, wraz z@modelcontextprotocol/express2.0.2 lub nowszą, jeśli jest używana @modelcontextprotocol/server-legacy2.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:
- Przekaż odbiorcę (audience), którego serwer autoryzacji umieszcza w tokenach dla Twojego serwera:
requireBearerAuth({ verifier, expectedResource: new URL('https://mcp.example.com/mcp') }). - Zwróć odbiorcę tokena z
verifyAccessToken()jakoAuthInfo.resource, również jakoURL.
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.
| Platforma | Paczka | Podatne wersje | Poprawka 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
- https://github.com/modelcontextprotocol/typescript-sdk/security/advisories/GHSA-rvq5-wwqv-78pq
- https://github.com/modelcontextprotocol/typescript-sdk/commit/40f8f4e229d963cd7fd2890bda2aeebe7005299a
- https://github.com/modelcontextprotocol/typescript-sdk/commit/5a0724d14cf34a27a3b070224d2996cdd611df9f
- https://github.com/modelcontextprotocol/typescript-sdk/commit/5a1867390b91b8836f49af76c45427279f513325
- https://github.com/modelcontextprotocol/typescript-sdk
- 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
- 2025: 1
- 2026: 7
-
MCP TypeScript SDK: Uwierzytelnianie bearer serwera akceptuje tokeny wystawione dla innych usług ten wpis
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.