CVE-2026-101062
WysokieCVSS 8.8Streszczenie
Obot przed v0.23.0 (dotknięte wersje <= v0.22.1) z włączonym uwierzytelnianiem (OBOT_SERVER_ENABLE_AUTHENTICATION=true) udostępnia dynamiczną rejestrację klientów OAuth bez uwierzytelnienia i bez ograniczeń URI przekierowań. Atakujący może zarejestrować klienta wskazującego na jego domenę i przechwycić kod autoryzacyjny zalogowanego użytkownika, a następnie wymienić go na tokeny dostępu i odświeżania. Tokeny MCP OAuth niosą pełny zestaw grup ofiary w JWT, a Obot waliduje tylko issuer, nie audience, co pozwala na użycie tokena jako bearer do dowolnych endpointów API Obot, do których ofiara ma dostęp.
Ocena ryzyka
Atakujący może przejąć tokeny dostępu i odświeżania ofiary, co pozwala na odczyt i modyfikację zasobów ofiary w Obot, aż do wygaśnięcia tokena.
Rekomendacja
Należy zaktualizować Obot do wersji v0.23.0, która dodaje ekran zgody, ogranicza tokeny MCP OAuth do konkretnego MCP i wymusza walidację audience.
Inne podatności w Obot
Zobacz wszystkie- CVE-2026-101064Wysokie
Obot przed v0.23.0 zawiera podatność na SSRF w rejestracji zdalnych serwerów MCP, która pozwala uprzywilejowanym użytkownikom na podawanie dowolnych adresów URL bez walidacji. Atakujący z rolą Power User lub wyższą mogą zmusić Obot do wysyłania żądań do wewnętrznych usług i punktów końcowych metadanych chmury, odczytując odpowiedzi w komunikatach błędów i ujawniając wrażliwe dane uwierzytelniające.
- CVE-2026-101063Średnie
Obot w wersjach przed v0.23.0 nie wymusza uwierzytelniania na endpointach MCP Registry pod /v0.1/*, gdy uwierzytelnianie rejestru jest włączone. Nieuwierzytelniony atakujący może odczytać metadane rejestru, w tym nazwy serwerów, opisy, adresy URL repozytoriów i adresy URL połączeń, wysyłając żądania GET do /v0.1/servers.
- CVE-2026-101084Krytyczne
Wersje obot przed v0.21.1 nie egzekwują reguł kontroli dostępu na punkcie końcowym /mcp-connect, co pozwala każdemu uwierzytelnionemu użytkownikowi na połączenie z ograniczonymi serwerami MCP, jeśli zna ich identyfikator. Atakujący mogą ominąć autoryzację i uzyskać dostęp do wrażliwych systemów zaplecza.
- CVE-2026-101065Krytyczne
Obot w wersjach do commit d7e6970 włącznie, gdy uruchamiany jest przez szybki start Docker z README, nasłuchuje na 0.0.0.0:8080 z wyłączonym uwierzytelnianiem. Każde żądanie jest mapowane na syntetycznego użytkownika 'nobody' z rolami Owner i Admin, co daje pełny dostęp administracyjny do API i UI Obot. Dodatkowo montowany jest /var/run/docker.sock, co daje dostęp do kontroli Docker hosta.
Oryginalny opis (angielski, źródło NVD)
Obot before v0.23.0 (affected versions <= v0.22.1) running with OBOT_SERVER_ENABLE_AUTHENTICATION=true exposes OAuth dynamic client registration without authentication and without any restriction on the redirect URIs a client may register. Because the authorization flow auto-completes for an already logged-in user with no consent screen, an attacker who registers a client pointing at their own domain and induces a logged-in victim to visit a single crafted authorization URL receives an authorization code at the attacker-controlled redirect URI and can exchange it for an access token and refresh token. The token minted by the MCP OAuth flow carries the victim's full group set in the JWT, and Obot validated only the issuer and not the audience, so the token is accepted as a bearer token against any Obot API endpoint the victim can access rather than being scoped to the requested MCP server, allowing the attacker to read or modify the victim's resources until the token is revoked. v0.23.0 adds a consent screen, restricts MCP OAuth tokens to the MCP involved in the request, and enforces audience validation.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

