CVE-2026-90898
KrytyczneCVSS 9.8Streszczenie
Bifrost rejestruje klientów MCP przez API zarządzania, a klient stdio to polecenie wraz z argumentami, które jest uruchamiane natychmiast po dodaniu klienta, bez wymaganego uzgadniania MCP. Domyślnie uwierzytelnianie jest wyłączone (governance.auth_config.is_enabled=false), więc każdy wywołujący jest traktowany jako lokalny administrator. Pojedynczy nieuwierzytelniony POST /api/mcp/client wystarcza, aby uruchomić dowolny program jako użytkownik procesu Bifrost (appuser w oficjalnym obrazie).
Ocena ryzyka
Nieuwierzytelniony atakujący może zdalnie wykonać dowolny program na hoście z uruchomionym Bifrostem, co prowadzi do pełnego przejęcia procesu i potencjalnie całego systemu. Wersja transports/v2.0.0 nadal pozwala na taką rejestrację, mimo że v2.1.0 zwraca 403.
Rekomendacja
Natychmiast zaktualizuj Bifrost do wersji zawierającej transports/v2.1.0 lub nowszej oraz włącz uwierzytelnianie (governance.auth_config.is_enabled=true). Ogranicz dostęp do API zarządzania MCP do zaufanych sieci i zweryfikuj, czy nie doszło do nieautoryzowanej rejestracji klientów.
Inne podatności w Bifrost
Zobacz wszystkie- CVE-2026-86840Krytyczne
Palety `vtoken-minting` i `slpx` w Bifrost zawierają podatność na nieprawidłową autoryzację w przypisywaniu prowizji kanałowych. Podpisane konto może podać dowolny zarejestrowany `channel_id` podczas mintowania tokenów bez weryfikacji, czy wywołujący jest uprawniony do mintowania w imieniu tego kanału. Umożliwia to atakującemu zawyżenie zarejestrowanego wolumenu mintowania kanału i spowodowanie nieproporcjonalnego rozdzielenia płatności prowizyjnych na rzecz tego kanału podczas rozliczania prowizji.
- CVE-2026-86242Wysokie
Bifrost HTTP transport przed wersją 2.0.0 akceptuje włączony niestandardowy plugin, którego ścieżka jest URL HTTP, przez nieuwierzytelnione POST /api/plugins, gdy uwierzytelnianie zarządzania jest wyłączone (domyślnie). Ładowarka obiektów współdzielonych traktuje ścieżkę z prefiksem http jako URL do pobrania, zapisuje ciało do tymczasowego pliku .so i przekazuje do plugin.Open. Po pomyślnym otwarciu opcjonalny Init uruchamia się z dostarczoną konfiguracją jako użytkownik procesu Bifrost. Na dynamicznie linkowanych buildach jest to zdalne wykonanie kodu; na statycznie linkowanym obrazie Docker tylko SSRF.
- CVE-2026-55245Wysokie
Bifrost przed wersją 1.5.17 błędnie klasyfikuje adresy z zakresów CGNAT, 6to4, NAT64 i fec0::/10 jako publiczne. Atakujący kontrolujący adres URL multimodalnego żądania może sprawić, że brama pobierze zasoby z wewnętrznych usług, w tym metadane instancji chmury.
Oryginalny opis (angielski, źródło NVD)
Bifrost registers MCP clients through its management API. A stdio client is a command plus args. Bifrost starts that program in the gateway the moment the client is added. No MCP handshake required. The default is governance.auth_config.is_enabled=false. Auth off means every caller is a local admin. One unauthenticated POST /api/mcp/client is enough to run a program as the Bifrost process user (appuser on the official image). transports/v2.1.0 refuses an unauthenticated stdio registration with 403. transports/v2.0.0 still allows it.

