CVE-2026-91168
ŚrednieCVSS 6.8Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 21 - wyżej niż 21% wszystkich znanych CVE
Streszczenie
Warpgate to otwartoźródłowy bastion SSH, HTTPS i MySQL dla Linux. Od wersji 0.21.0 do 0.29.0 korelator żądań Kubernetes w warpgate-protocol-kubernetes/src/correlator.rs identyfikuje autoryzowany AdmittedTarget po nazwie użytkownika, nazwie celu i adresie IP klienta, a nie po niezmiennym UUID użytkownika, podczas gdy KubernetesSessionHandle::close nie usuwa wpisu. Jeśli konto zostanie usunięte, a inne konto o niskich uprawnieniach zostanie utworzone z tą samą nazwą użytkownika, konto zastępcze może uwierzytelnić się jako odtworzona nazwa użytkownika i ponownie użyć wciąż aktywnego wpisu korelacji poprzednika przy żądaniu tego samego celu z tego samego adresu IP klienta przed wygaśnięciem kubernetes.session_max_age. Uwierzytelnianie bieżącego żądania nadal występuje, ale ponownie użyty wpis omija świeżą kontrolę autoryzacji celu i może spowodować, że Warpgate będzie pośredniczyć w żądaniach z poświadczeniami celu Kubernetes, których konto zastępcze nie jest upoważnione do używania, ujawniając zasoby klastra lub umożliwiając nieautoryzowane modyfikacje. Problem naprawiono w wersji 0.29.0.
Ocena ryzyka
Konto zastępcze o niskich uprawnieniach może uzyskać dostęp do zasobów klastra Kubernetes, do których nie powinno mieć dostępu, potencjalnie ujawniając dane lub umożliwiając nieautoryzowane zmiany.
Rekomendacja
Zaktualizuj Warpgate do wersji 0.29.0 lub nowszej. Unikaj ponownego używania nazw użytkowników po usunięciu kont.
Inne podatności w Warpgate
Zobacz wszystkie- CVE-2026-58491Krytyczne
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.
- CVE-2026-91163Niskie
Warpgate to otwartoźródłowy host bastionu SSH, HTTPS i MySQL dla Linuksa. W wersjach przed 0.29.0 listener protokołu Kubernetes używa AcceptAnyClientCert w warpgate-protocol-kubernetes/src/server/client_certs.rs do akceptowania certyfikatów na warstwie TLS i odracza walidację do warpgate-protocol-kubernetes/src/server/auth.rs, gdzie błędy uwierzytelniania i wyszukiwania są renderowane dosłownie w treści odpowiedzi HTTP 500. Aplikacja Kubernetes w warpgate-protocol-kubernetes/src/server/mod.rs nie ma zewnętrznego wrappera logowania żądań używanego przez protokół HTTP, a błędy w warpgate-protocol-kubernetes/src/server/handlers.rs mogą zakończyć się przed wewnętrznym punktem logowania. Nieuwierzytelniony klient sieciowy może zatem wywołać błędy i otrzymać diagnostykę parsera ASN.1/DER lub błędy bazy danych sea_orm bez zapisania próby w logu bramy. Ujawnione informacje ograniczają się do wewnętrznej diagnostyki, a wpływ na dane użytkownika, integralność lub dostępność nie został ustalony. Problem został naprawiony w wersji 0.29.0.
- 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-2026-44347Średnie
W Warpgate przed wersją 0.23.3 przepływ SSO nie waliduje parametru state, co pozwala atakującemu nakłonić użytkownika do zalogowania się na konto atakującego. Może to skłonić ofiarę do wykonania wrażliwych działań na koncie atakującego.
- 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. From 0.21.0 until 0.29.0, the Kubernetes request correlator in warpgate-protocol-kubernetes/src/correlator.rs keys an authorized AdmittedTarget by username, target_name, and client IP rather than by the immutable user UUID, while KubernetesSessionHandle::close does not evict the entry. If an account is deleted and a different low-privilege account is created with the same username, the replacement account can successfully authenticate as that recreated username and reuse the predecessor's still-live correlation entry when requesting the same target from the same client IP before kubernetes.session_max_age expires. Current-request authentication still occurs, but the reused entry bypasses a fresh target authorization check and can cause Warpgate to proxy requests with Kubernetes target credentials that the replacement account is not authorized to use, exposing cluster resources or permitting unauthorized mutations. This issue is fixed in version 0.29.0.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

