CVE-2026-46354
KrytyczneCVSS 9.1Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 17 - wyżej niż 17% wszystkich znanych CVE
Streszczenie
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.
Ocena ryzyka
Ryzyko polega na możliwości nieautoryzowanego dostępu do środowisk zdalnych deweloperskich bez uwierzytelnienia. Atakujący, znając `vmId` ofiary (UUIDv4), może przejąć token sesji agenta, co prowadzi do naruszenia poufności i integralności danych.
Rekomendacja
Zaleca się natychmiastową aktualizację Coder do wersji 2.24.5, 2.29.13, 2.30.8, 2.31.12, 2.32.2 lub 2.33.3. Jako tymczasowe obejście, należy przekonfigurować szablony Azure, aby używały uwierzytelniania tokenem zamiast `azure-instance-identity`.
Inne podatności w Coder
Zobacz wszystkie- CVE-2026-55438Średnie
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.
- CVE-2026-55437Średnie
W Coder przed wersjami 2.29.17, 2.32.7, 2.33.8 i 2.34.2 komponent dashboardu `AgentLogLine` używał biblioteki `ansi-to-html` bez włączonej opcji `escapeXML: true`, a wynik wstawiał przez `dangerouslySetInnerHTML`. Powodowało to, że osadzony w logach agenta HTML był renderowany jako aktywny kod. Sanityzacja po stronie serwera nie neutralizowała znaków meta HTML.
- CVE-2026-55436Wysokie
W Coder od wersji 2.30.0 do 2.32.7, 2.33.8 i 2.34.2, serwer proxy AI Bridge (`aibridgeproxyd`) domyślnie akceptował każdy certyfikat TLS dla połączeń HTTPS z serwerem Coder. Luka wynika z ustawienia `InsecureSkipVerify: true` w domyślnym transporcie, co umożliwia atak typu man-in-the-middle.
- CVE-2026-55433Średnie
W Coder przed wersjami 2.29.7, 2.32.7, 2.33.8 i 2.34.2 endpoint odtwarzania devcontainera sprawdzał tylko uprawnienie `ActionRead` na workspace, pomijając kontrolę `ActionUpdate` przed destrukcyjną przebudową. Atakujący z niskimi uprawnieniami i dostępem do workspace'a mógł wykorzystać tę lukę do nieautoryzowanej przebudowy.
- CVE-2026-55432Średnie
W Coder przed wersjami 2.29.7, 2.32.7, 2.33.8 i 2.34.2, wywołanie RPC `CreateSubAgent` nie sprawdzało żądanego poziomu udostępniania aplikacji względem `MaxPortSharingLevel` szablonu przed zapisaniem aplikacji obszaru roboczego. Pozwalało to właścicielowi obszaru roboczego na przekroczenie skonfigurowanego przez administratora maksymalnego poziomu udostępniania portów.
- CVE-2026-55431Wysokie
Podatność w Coder CLI pozwala na kradzież tokena sesji użytkownika poprzez otwarcie złośliwego adresu URL aplikacji workspace. Atakujący (twórca szablonu) może skonfigurować zewnętrzną aplikację workspace, która po uruchomieniu komendy `coder open app` podmienia token sesji w adresie URL, a następnie otwiera go w przeglądarce ofiary.
- CVE-2026-55430Średnie
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.
- CVE-2026-55429Wysokie
W Coder przed wersjami 2.29.7, 2.32.7, 2.33.8 i 2.34.2 funkcja `UpsertWorkspaceApp` nadpisuje istniejący wpis aplikacji, a `insertAgentApp` akceptuje identyfikator aplikacji z ładunku `CompleteJob` bez weryfikacji, czy należy on do budowanego workspace. Pozwala to na przypisanie agenta z innego workspace, co wymaga podwyższonych uprawnień autora szablonu lub operatora zewnętrznego provisionera.
- CVE-2026-55428Wysokie
W Coder przed wersjami 2.29.7, 2.32.7, 2.33.8 i 2.34.2 koordynator sieci tailnet nie sprawdza poprawności adresów IP dostarczonych przez agenta w polu AllowedIPs, co pozwala agentowi na podszywanie się pod inne UUID i przechwytywanie ruchu sieciowego. Luka umożliwia nieautoryzowanym agentom dodawanie własnych tras do konfiguracji WireGuard, potencjalnie prowadząc do ataku typu man-in-the-middle.
- CVE-2026-55427Wysokie
Podatność w Coder pozwala na wstrzyknięcie dowolnej konfiguracji SSH do pliku ~/.ssh/config użytkownika poprzez niesanitowane wartości HostnameSuffix i SSHConfigOptions dostarczane przez serwer. Atak wymaga kontroli nad serwerem Coder (złośliwy wdrożenie, atak MITM lub dostęp administracyjny).
Oryginalny opis (angielski, źródło NVD)
Coder allows organizations to provision remote development environments via Terraform. In versions prior tp 2.24.5, 2.29.13, 2.30.8, 2.31.12, 2.32.2, and 2.33.3, `azureidentity.Validate()` verifies that the PKCS#7 signer certificate chains to a trusted Azure CA but never verifies the PKCS#7 signature itself. An attacker can embed a legitimate Azure certificate alongside arbitrary content e.g. `{"vmId":"<target>"}` and the forged `vmId` will be accepted returning the victim workspace agent's session token. No authentication is required. The attacker only needs to know a target VM's `vmId` which is a `UUIDv4`. That's a practical limitation which would typically require prior access to be exploited. Versions 2.24.5, 2.29.13, 2.30.8, 2.31.12, 2.32.2, and 2.33.3 patch the issue. As a workaround, reconfigure any Azure templates to use token authentication rather than `azure-instance-identity`.

