CVE-2026-118687
ŚrednieCVSS 6.5Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 8 - wyżej niż 8% wszystkich znanych CVE
Streszczenie
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.
Ocena ryzyka
Atakujący może przejąć sesję agenta workspace i wykonywać działania w jego kontekście, co może prowadzić do nieautoryzowanego dostępu do zasobów. Ryzyko jest szczególnie istotne w środowiskach korzystających z Google Cloud.
Rekomendacja
Zaktualizuj Coder do wersji 2.29.21, 2.34.12, 2.35.9, 2.36.7 lub 2.37.4 (lub nowszej). Rozważ rotację tokenów sesji agentów workspace po aktualizacji.
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-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.
- CVE-2026-111926Niskie
Coder od wersji 2.10.0 przed 2.34.8 posiada nieuwierzytelniony serwer debugowania agenta HTTP na 127.0.0.1:2113, którego handler /debug/manifest zwraca pełny manifest agenta, w tym wartości zmiennych środowiskowych dostarczonych przez szablon. Użytkownik lub proces systemu Unix z niższymi uprawnieniami w tym samym workspace może odpytać ten endpoint, aby odczytać poświadczenia, takie jak klucze chmurowe lub tokeny rejestru.
Oryginalny opis (angielski, źródło NVD)
Coder before 2.29.21, 2.30.0 before 2.34.12, 2.35.0 before 2.35.9, 2.36.0 before 2.36.7, and 2.37.0 before 2.37.4 does not validate the audience claim of GCE instance-identity JWTs at the POST /api/v2/workspaceagents/google-instance-identity endpoint. Attackers who obtain an unexpired format=full identity token minted for another relying party can replay it to obtain that workspace agent's session token, which remains valid until the workspace's next build.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

