Wysoka

MCP TypeScript SDK: Pojedyncze żądanie HTTP w domyślnym limicie rozmiaru mogło wyczerpać pamięć serwera podczas walidacji

  • Ujawniono: 20.10.2026
  • Aktualizacja: 20.10.2026 23:21

Podsumowanie

W wersjach dotkniętych podatnością serwery nie nakładały limitu na liczbę elementów tablicy i kluczy obiektów walidowanych w ramach jednego żądania. Pojedyncze żądanie HTTP mieszczące się w domyślnym limicie rozmiaru 4 MiB mogło wyczerpać pamięć serwera, powodując zakończenie procesu błędem JavaScript heap out of memory.

Nie są wymagane żadne poświadczenia, chyba że żądania są uwierzytelniane przed dotarciem do SDK.

Czy dotyczy to mojego środowiska?

Tak, jeśli klienci, do których nie masz pełnego zaufania, mogą łączyć się z Twoim serwerem przez HTTP. Ryzyko jest najwyższe w przypadku narzędzi McpServer, których dane wejściowe zawierają tablicę lub rekord. Serwery korzystające wyłącznie ze stdio nie są podatne.

Wersje dotknięte podatnością:

  • @modelcontextprotocol/sdk 1.3.0 do 1.31.0
  • @modelcontextprotocol/server 2.0.0 do 2.2.0

Co trzeba zrobić

Rozwiązanie

Zaktualizuj do:

  • 1.x: @modelcontextprotocol/sdk 1.32.0 lub nowszej
  • 2.x: @modelcontextprotocol/server 2.3.0 lub nowszej

Sama aktualizacja niczego nie zmienia. Załatane wersje wprowadzają opcję McpServer, maxToolInputElements, która jest domyślnie wyłączona. Wprowadź obie poniższe zmiany:

  1. Ustaw maxToolInputElements tuż powyżej największych danych wejściowych wymaganych przez Twoje narzędzia, na przykład new McpServer(info, { maxToolInputElements: 10_000 }). Zlicza ona elementy tablic oraz klucze obiektów w argumentach wywołania. Wywołanie przekraczające limit otrzymuje wynik isError: true.
  2. Zmniejsz limit rozmiaru żądania do poziomu wymaganego przez Twoje narzędzia. Opcja ta dotyczy wyłącznie argumentów narzędzi, a limit rozmiaru obejmuje całą resztę. Ustaw maxRequestBodySize na transporcie lub createMcpHandler(). Jeśli samodzielnie przetwarzasz treść żądania (body), na przykład za pomocą express.json() lub Fastify, skonfiguruj limit tego parsera.

Jeśli nie możesz jeszcze dokonać aktualizacji, wdróż drugą zmianę. maxRequestBodySize wymaga @modelcontextprotocol/sdk 1.30.1 lub @modelcontextprotocol/server 2.1.0. W przypadku starszych wersji użyj reverse proxy.

Czego dotyczy

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

PlatformaPaczkaPodatne wersjePoprawka w wersji
Paczka npm @modelcontextprotocol/sdk >= 1.3.0, < 1.32.0 1.32.0
Paczka npm @modelcontextprotocol/server >= 2.0.0, < 2.3.0 2.3.0

Odnośniki

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

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

OSV / GitHub Advisory Database - GHSA-46jr-4wx8-v453 - 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: Pojedyncze żądanie HTTP w domyślnym limicie rozmiaru mogło wyczerpać pamięć serwera podczas walidacji ten wpis
    Wysoka · 7.5 CVE-2026-111768 >= 1.3.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.