CVE-2026-79744
WysokieCVSS 8.8Streszczenie
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.
Ocena ryzyka
Organizacja jest narażona na nieautoryzowaną modyfikację konfiguracji systemu, co może prowadzić do naruszenia bezpieczeństwa, zmiany ustawień i potencjalnych ataków.
Rekomendacja
Zaleca się aktualizację MCPHub do wersji 1.0.29 lub nowszej, która zawiera poprawkę. Należy również sprawdzić, czy inne punkty końcowe mają odpowiednie kontrole dostępu.
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-79749Wysokie
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.
- 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-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.29, MCPHub's PUT /api/system-config endpoint (handler updateSystemConfig) performs no authorization check. It is protected only by the app-wide authentication middleware and a rate limiter — it never inspects req.user.isAdmin. This issue has been patched in version 1.0.29.

