CVE-2026-58491
KrytyczneCVSS 9.3Streszczenie
Warpgate to open-source'owy bastion SSH, HTTPS i MySQL dla Linuksa. Przed wersją 0.25.5 endpoint /@warpgate/api/sso/providers/:name/start przechowuje kontrolowany przez atakującego parametr next, który handler POST /@warpgate/api/sso/return wstawia bez escapowania HTML do odpowiedzi generowanej przez warpgate-protocol-http/src/api/sso_provider_list.rs. Ofiara, która kliknie spreparowany link i ukończy SSO, może spowodować wykonanie znaczników i JavaScriptu w uwierzytelnionym originie Warpgate, co umożliwia dostęp do danych sesji i działań przez API użytkownika, a przez API administratora tylko gdy ofiara jest administratorem. Ścieżka GET /@warpgate/api/sso/return również używa tej samej niezwalidowanej wartości jako celu przekierowania, umożliwiając otwarte przekierowanie.
Ocena ryzyka
Atakujący może wykonać JavaScript w kontekście uwierzytelnionej sesji ofiary, uzyskując dostęp do danych sesji i działań API, a w przypadku administratora także do API administracyjnych. Podatność naprawiono w wersji 0.25.5.
Rekomendacja
Zaktualizuj Warpgate do wersji 0.25.5 lub nowszej. Do czasu aktualizacji ostrzegaj użytkowników przed klikaniem nieznanych linków SSO oraz monitoruj nietypowe przekierowania i aktywność API.
Inne podatności w Warpgate
Zobacz wszystkie- CVE-2026-91167Średnie
W Warpgate przed wersją 0.28.4 endpoint PUT /@warpgate/admin/api/users/:id/roles/:role_id nie wymaga uprawnienia AdminPermission::AccessRolesAssign. Ograniczony administrator z dowolnym uprawnieniem może zaktualizować expires_at istniejącego przypisania roli i wyczyścić revoked_at, wydłużając wygasające uprawnienie lub przywracając odebrane.
- CVE-2026-91166Średnie
Warpgate do wersji 0.27.6 włącznie ma podatność w ścieżce SSH przez przeglądarkę, gdzie klucz hosta skoku (jump host) jest zapisywany dla adresu docelowego. W trybach Prompt i AutoAccept maszyna prezentująca klucz skoku na adresie docelowym może zostać zaakceptowana jako cel, co pozwala na przechwycenie ruchu użytkownika i nowo wydanego certyfikatu przy uwierzytelnianiu certyfikatowym. Natywna ścieżka SSH nie jest dotknięta, ponieważ śledzi każdy skok osobno. Problem naprawiono w wersji 0.27.6.
- CVE-2026-91165Niskie
W Warpgate ścieżka powrotu SSO response_mode=form_post w sso_provider_list.rs używa serde_json::to_string bez neutralizacji sekwencji zamykającej skrypt. Wartość może trafić do bloku script przez kontrolowany przez atakującego parametr next lub przez komunikaty błędów IdP konkatenowane bez kodowania URL. Ścieżka IdP jest osiągalna, gdy atakujący kontroluje skonfigurowanego dostawcę tożsamości lub kontroluje roszczenie email/username na swoim koncie. Ofiara musi ukończyć przepływ form_post SSO, aby wstrzyknięty znacznik został wyrenderowany. CSP Warpgate blokuje wstrzyknięty JavaScript, więc skutkiem jest podszywanie się pod treść, fałszywy formularz logowania lub meta refresh. Problem naprawiono w wersji 0.27.6.
- CVE-2026-91164Średnie
Warpgate do wersji 0.27.3 włącznie ma podatność w uwierzytelnianiu tokenem API HTTP, gdzie walidacja tokenu nie egzekwuje ograniczeń allowed_ip_ranges właściciela tokenu. Atakujący posiadający wyciekły, wyłudzony lub wykradziony token X-Warpgate-Token może go użyć z zabronionej lokalizacji sieciowej. Wdrożenia bez allowed_ip_ranges nie są dotknięte, a inne ścieżki (HTTP target proxying, SSH, MySQL, PostgreSQL, RDP, VNC, Kubernetes) nie akceptują tej podatnej ścieżki tokenu HTTP. Problem naprawiono w wersji 0.27.3.
- CVE-2026-63330Wysokie
Warpgate, open source bastion host SSH, HTTPS i MySQL dla Linuksa, w wersjach przed 0.25.6 posiada podatność w api_get_recording_stream w warpgate-admin/src/api/recordings_detail.rs. Endpoint /@warpgate/admin/api/recordings/{uuid}/stream jest chroniony tylko uwierzytelnieniem sesji, bez wymagania uprawnień administratora do przeglądania nagrań. Każdy uwierzytelniony zwykły użytkownik może subskrybować WebSocket aktywnego nagrania i odbierać w czasie rzeczywistym dane wejściowe i wyjściowe terminala z sesji SSH, MySQL lub PostgreSQL, w tym poświadczenia i polecenia.
- CVE-2026-63329Średnie
Warpgate przed wersją 0.25.6 ma podatność w proxy HTTP, gdzie nagłówek x-warpgate-username dostarczony przez klienta jest przekazywany przed dodaniem uwierzytelnionego użytkownika. Ponieważ konstruktor żądań zachowuje powtórzone wartości, backend ufający pierwszej wartości może autoryzować uwierzytelnionego atakującego jako innego użytkownika. Podobnie akceptowany jest zarezerwowany nagłówek x-warpgate-authentication-type. Problem naprawiono w wersji 0.25.6.
- CVE-2023-37268Średnie
Warpgate to bastion host SSH, HTTPS i MySQL dla systemu Linux, który nie wymaga specjalnych aplikacji klienckich. Atakujący może uwierzytelnić się jako inny użytkownik, jeśli loguje się użytkownik z włączonym SSO, a konto nie ma włączonego drugiego czynnika uwierzytelnienia.
Oryginalny opis (angielski, źródło NVD)
Warpgate is an open source SSH, HTTPS and MySQL bastion host for Linux. Prior to 0.25.5, the /@warpgate/api/sso/providers/:name/start endpoint stores an attacker-controlled next parameter that the POST /@warpgate/api/sso/return handler inserts without HTML escaping into the response generated by warpgate-protocol-http/src/api/sso_provider_list.rs. A victim who follows a crafted link and completes SSO can cause markup and JavaScript to execute in the authenticated Warpgate origin, allowing access to session data and actions through user APIs, and through administrator APIs only when the victim is an administrator. The GET /@warpgate/api/sso/return path also uses the same unvalidated value as a redirect destination, enabling an open redirect. This issue is fixed in version 0.25.5.

