CVE-2026-79749
WysokieCVSS 7.6Streszczenie
MCPHub przed wersją 1.0.32 ma lukę w zabezpieczeniu SSRF w src/utils/ssrf.ts. Funkcja isBlockedIpv6 sprawdza tylko adresy loopback, link-local, unique-local, IPv4-mapped i IPv4-compatible, ale nie sprawdza adresów przejściowych IPv6 (NAT64, 6to4, Teredo). Atakujący może zakodować prywatny adres IPv4 w tych formach IPv6, aby ominąć zabezpieczenie i dotrzeć do wewnętrznej infrastruktury.
Ocena ryzyka
Organizacja jest narażona na ataki SSRF, które mogą umożliwić dostęp do wewnętrznych systemów i usług, które nie powinny być dostępne z zewnątrz. Może to prowadzić do naruszenia poufności i integralności danych.
Rekomendacja
Zaleca się aktualizację MCPHub do wersji 1.0.32 lub nowszej, która zawiera poprawkę. Należy również rozważyć dodatkowe zabezpieczenia sieciowe, takie jak filtrowanie ruchu wychodzącego.
Inne podatności w MCPHub
Zobacz wszystkie- CVE-2026-79750Wysokie
MCPHub przed wersją 1.0.30 nie egzekwuje ograniczeń własności w API wykonywania narzędzi. Każdy uwierzytelniony użytkownik niebędący administratorem może wywoływać narzędzia na serwerach MCP należących do innych użytkowników, nawet jeśli nie widzi tych serwerów w GET /api/servers. Może to prowadzić do odczytu plików (np. /etc/passwd) i SSRF.
- CVE-2026-79747Wysokie
MCPHub przed wersją 1.0.32 pozwala uwierzytelnionemu użytkownikowi niebędącemu administratorem zarejestrować serwer wskazujący na dowolny URL i wysyłać do niego żądania serwerowe bez filtrowania ruchu wychodzącego (brak blokady loopback, RFC1918, link-local). Przez proxy OpenAPI odpowiedź jest zwracana do wywołującego (pełny SSRF), a przez SSE/streamable-http żądanie jest wysyłane na ślepo.
- CVE-2026-79746Wysokie
MCPHub przed wersją 1.0.31 ma lukę w autoryzacji dla kluczy bearer z accessType 'servers' lub 'custom' używanych w trasach grupowych. Funkcja isBearerKeyAllowedForRequest przyznaje dostęp do całej grupy, jeśli jakikolwiek serwer w grupie znajduje się na liście allowedServers klucza, bez ponownego sprawdzania po autoryzacji. Klucz ograniczony do jednego serwera daje dostęp do wszystkich serwerów w grupie.
- CVE-2026-79745Wysokie
MCPHub przed wersją 1.0.32 nie sprawdza ról w wbudowanych kontrolerach promptów i zasobów. Trasy POST/PUT /api/prompts* i /api/resources* są dołączone do uwierzytelnionego routera bez bramki administratora, a handlery nie czytają req.user. Nie-admin może tworzyć, nadpisywać i cieniować globalne szablony promptów i zasobów, które są serwowane wszystkim użytkownikom.
- CVE-2026-79744Wysokie
MCPHub przed wersją 1.0.29 ma lukę w punkcie końcowym PUT /api/system-config (handler updateSystemConfig), który nie wykonuje żadnej kontroli autoryzacji. Jest chroniony tylko przez middleware uwierzytelniający i ogranicznik szybkości, ale nie sprawdza req.user.isAdmin.
- CVE-2026-79743Średnie
MCPHub przed wersją 0.12.13 zawiera podatność w obsłudze plików MCPB. Podczas ekstrakcji pliku ZIP, pole 'name' w manifeście jest bezpośrednio łączone ze ścieżką pliku bez sanityzacji, co pozwala na zapis plików w dowolnej lokalizacji (path traversal). Funkcja cleanupOldMcpbServer również używa niesanityzowanej nazwy, co może umożliwić usunięcie dowolnych katalogów. Problem został naprawiony w wersji 0.12.13.
- CVE-2026-79748Krytyczne
MCPHub przed wersją 0.12.15 nie sprawdza uprawnień administratora przy tworzeniu lub aktualizacji konfiguracji serwerów MCP, a także nie filtruje pól command i args. Każdy uwierzytelniony użytkownik niebędący administratorem może uruchomić dowolny proces jako użytkownik systemowy MCPHub, często root.
Oryginalny opis (angielski, źródło NVD)
MCPHub is a unified hub for centrally managing and dynamically orchestrating multiple MCP servers/APIs into separate endpoints with flexible routing strategies. Prior to version 1.0.32, MCPHub's SSRF guard in src/utils/ssrf.ts uses a custom isBlockedIpv6 function that only checks for loopback, link-local, unique-local, IPv4-mapped, and IPv4-compatible IPv6 addresses. IPv6 transition address families -- NAT64 (64:ff9b::/96), 6to4 (2002::/16), and Teredo (2001::/32) -- are not checked. An attacker who can specify a URL for an MCP server connection can encode a private IPv4 address inside one of these IPv6 forms to bypass the SSRF guard and reach internal infrastructure. This issue has been patched in version 1.0.32.

