CVE-2026-55438
ŚrednieCVSS 5.8Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 13 - wyżej niż 13% wszystkich znanych CVE
Streszczenie
W Coder przed wersjami 2.29.17, 2.32.7, 2.33.8 i 2.34.2, mechanizm proxy aplikacji obszaru roboczego oparty na subdomenie umożliwiał ominięcie kontroli CORS dla tego samego właściciela. Gdy segment subdomeny z nazwą obszaru roboczego był parsowany jako UUID, obszar roboczy był rozpoznawany po ID bez weryfikacji, czy nazwa użytkownika w URL-u odpowiada rzeczywistemu właścicielowi, podczas gdy middleware CORS ufał niezweryfikowanej nazwie użytkownika w nazwie hosta.
Ocena ryzyka
Ryzyko polega na możliwości kradzieży danych lub nieautoryzowanego dostępu do obszarów roboczych ofiary, jeśli atakujący nakłoni uwierzytelnionego użytkownika do odwiedzenia spreparowanego URL-a aplikacji. Praktyczne wykorzystanie wymaga włączenia routingu aplikacji przez subdomeny (wieloznaczna nazwa hosta).
Rekomendacja
Należy niezwłocznie zaktualizować Coder do wersji 2.29.17, 2.32.7, 2.33.8 lub 2.34.2, które zawierają poprawkę walidującą nazwę użytkownika z subdomeny z rzeczywistym właścicielem obszaru roboczego. Nie są znane żadne rozwiązania zastępcze.
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.17, 2.32.7, 2.33.8, and 2.34.2, Coder's subdomain-based workspace app proxy allowed the same-owner CORS check to be bypassed. When a workspace-name subdomain segment parsed as a UUID, the workspace was resolved by ID without confirming the URL's username matched the real owner, while the CORS middleware trusted the unverified username in the hostname. Practical exploitation requires subdomain app routing (wildcard hostname) enabled and a victim who visits the attacker's crafted app URL while authenticated. The fix in versions 2.29.17, 2.32.7, 2.33.8, and 2.34.2 validates the subdomain username against the resolved workspace's actual owner and bases the same-owner CORS decision on the authoritative owner identity. No known workarounds are available.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

