CVE-2026-55430
ŚrednieCVSS 5.8Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 11 - wyżej niż 11% wszystkich znanych CVE
Streszczenie
Podatność w Coder umożliwia atakującemu przekierowanie ruchu z proxy aplikacji workspace do dowolnego hosta poprzez nagłówek X-Forwarded-Host. Problem występuje, gdy włączone jest subdomenowe routowanie aplikacji (wildcard hostname), ofiara odwiedza współdzieloną aplikację atakującego, a upstream proxy nie usuwa tego nagłówka.
Ocena ryzyka
Atakujący może przechwycić lub podmienić odpowiedzi z proxy aplikacji, co prowadzi do kradzieży danych uwierzytelniających, sesji lub innych wrażliwych informacji użytkowników.
Rekomendacja
Zaleca się natychmiastową aktualizację do wersji 2.29.7, 2.32.7, 2.33.8 lub 2.34.2. Jako tymczasowe obejście, skonfiguruj upstream reverse proxy, które usuwa lub nadpisuje nagłówek X-Forwarded-Host w niezaufanych żądaniach.
Inne podatności w Coder
Zobacz wszystkie- CVE-2026-46354Krytyczne
W Coder przed wersjami 2.24.5, 2.29.13, 2.30.8, 2.31.12, 2.32.2 i 2.33.3 funkcja `azureidentity.Validate()` nie weryfikuje podpisu PKCS#7, a jedynie sprawdza, czy certyfikat podpisującego pochodzi od zaufanego urzędu certyfikacji Azure. Atakujący może osadzić prawdziwy certyfikat Azure wraz z dowolną treścią, np. `{"vmId":"<target>"}`, a sfałszowane `vmId` zostanie zaakceptowane, co umożliwi przejęcie tokena sesji agenta ofiary.
- CVE-2026-118687Średnie
Coder w wersjach przed 2.29.21, 2.30.0 przed 2.34.12, 2.35.0 przed 2.35.9, 2.36.0 przed 2.36.7 oraz 2.37.0 przed 2.37.4 nie weryfikuje roszczenia audience w tokenach JWT GCE instance-identity na endpointcie POST /api/v2/workspaceagents/google-instance-identity. Atakujący, który zdobędzie niewygasły token tożsamości w formacie format=full wystawiony dla innej strony ufającej, może go odtworzyć, aby uzyskać token sesji agenta workspace, ważny do następnego builda workspace.
- CVE-2026-111934Niskie
Coder w wersjach przed 2.34.7 zawiera podatność na fałszowanie adresu IP w middleware ExtractRealIPAddress, które ufa skrajnie lewej wartości X-Forwarded-For dostarczonej przez klienta, zamiast adresowi IP dodanemu przez reverse proxy. Atakujący mogą wysyłać sfałszowane wartości X-Forwarded-For przez proxy dołączające, aby obejść limity szybkości na endpointach logowania, jednorazowych kodów dostępu i walidacji hasła, umożliwiając ataki brute-force oraz fałszowanie adresów IP w dziennikach audytu.
- CVE-2026-111933Niskie
Coder w wersjach przed 2.29.17, 2.30.0 przed 2.32.7, 2.33.0 przed 2.33.8 oraz 2.34.0 przed 2.34.2 zawiera podatność na enumerację użytkowników, ponieważ funkcja userpassword.Compare() podstawia zastępczy hash pochodzący z ciągu "hunter2", gdy zapisany hash hasła jest pusty. Nieuwierzytelnieni atakujący mogą przesyłać loginy z hasłem "hunter2" i rozróżniać odpowiedzi HTTP 403 od 401, aby wyliczyć prawidłowe konta i ujawnić dostawcę uwierzytelniania użytkowników korzystających wyłącznie z SSO.
- CVE-2026-111932Niskie
Coder w wersjach przed 2.29.17, 2.30.0 przed 2.32.7, 2.33.0 przed 2.33.8 oraz 2.34.0 przed 2.34.2 zawiera podatność na trwałe wstrzyknięcie HTML, ponieważ ustawienia wyglądu ApplicationName i LogoURL są renderowane do wyjścia HTML bez wystarczającego escapowania. Atakujący z rolą Owner mogą zapisać znaczniki HTML w tych ustawieniach, które renderują się w panelu Coder oraz w wiadomościach e-mail powiadomień SMTP wysyłanych do innych użytkowników wdrożenia.
- CVE-2026-111931Średnie
Coder od 2.0.0 przed 2.34.8 zawiera lukę otwartego przekierowania w handleAPIKeySmuggling, która pozwala atakującym przekierować użytkowników na zewnętrzne strony poprzez nieoczyszczone wartości r.URL.Path. Atakujący mogą tworzyć linki w zaufanych subdomenach aplikacji workspace ze ścieżkami zaczynającymi się od podwójnego ukośnika, które stają się przekierowaniami względnymi schematu do stron atakującego w celach phishingowych.
- CVE-2026-111930Średnie
Coder od 2.26.0 przed 2.34.8 zawiera błąd autoryzacji w endpoincie GET /api/v2/workspaces/{id}/acl, który sprawdza tylko dostęp do odczytu workspace, a następnie pobiera członków grupy w podwyższonym kontekście systemowym. Uwierzytelnieni użytkownicy z dostępem do workspace mogą odpytać endpoint, aby pozyskać adresy e-mail, typy logowania, status oraz znaczniki czasu ostatniego logowania i utworzenia członków grupy.
- CVE-2026-111929Średnie
Coder od 2.30.0 przed 2.34.8 zawiera lukę obejścia autoryzacji w handlerze gRPC DownloadFile demona provisionera, która pozwala uwierzytelnionym demonom provisionera pobierać archiwa modułów Terraform z pamięci podręcznej innych organizacji. Atakujący z kluczem provisionera o zakresie organizacji i znanym UUID pliku może pobrać kod źródłowy modułu, ujawniając topologię infrastruktury lub osadzone sekrety.
- CVE-2026-111928Średnie
Coder od 2.0.0 przed 2.34.8 zawiera lukę nieprawidłowej autoryzacji w regule acl_allow pliku coderd/rbac/policy.rego, która nie weryfikuje członkostwa w organizacji dla wpisów ACL na użytkownika, a usunięcie członka organizacji nie usuwa tych wpisów. Uwierzytelnieni użytkownicy usunięci z organizacji mogą nadal uzyskiwać dostęp do wcześniej przyznanych zasobów o zasięgu organizacji, takich jak szablony i workspace, poprzez API.
- CVE-2026-111927Wysokie
Coder w wersjach przed 2.29.20, 2.33.0 przed 2.33.12, 2.34.0 przed 2.34.8 oraz 2.35.0 przed 2.35.4 zawiera błąd nieprawidłowej walidacji nazwy hosta w GetWorkspaceProxyByHostname, gdzie wzorzec SIMILAR TO wykonuje dopasowanie prefiksu, przez co dowolna domena będąca prefiksem ciągu adresu URL proxy obszaru roboczego jest uznawana za zaufane proxy. Atakujący posiadający taką domenę może zwabić uwierzytelnioną ofiarę do spreparowanego linku /api/v2/applications/auth-redirect, przechwycić przekierowany klucz API application_connect i użyć go ponownie, aby uzyskać dostęp do aplikacji obszaru roboczego ofiary.
Oryginalny opis (angielski, źródło NVD)
Coder allows organizations to provision remote development environments via Terraform. Prior to versions 2.29.7, 2.32.7, 2.33.8, and 2.34.2, the workspace app proxy resolves the target app from `httpapi.RequestHost()` which prefers the `X-Forwarded-Host` header over the real `Host` header. No middleware strips `X-Forwarded-Host` before routing and the header is not browser-forbidden so client-side JavaScript can set it on `fetch()` calls. Practical exploitation requires subdomain app routing (wildcard hostname) enabled, a victim who visits the attacker's shared app and a deployment whose upstream proxy does not strip `X-Forwarded-Host`. The fix in versions 2.29.7, 2.32.7, 2.33.8, and 2.34.2 trusts `X-Forwarded-Host` only from configured trusted proxies and otherwise resolves the routing host from the verified request host. As a workaround, place an upstream reverse proxy that strips or overwrites `X-Forwarded-Host` on untrusted requests.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

