HIGH🇬🇧 English

CVE-2026-55431

Coder CLI: wyciek tokenu sesji przez niezwalidowany URL zewnętrznej aplikacji

CVSS 7.7v3.1pub. 2026-07-08

Polecenie `coder open app` w Coder zastępuje placeholder `$SESSION_TOKEN` w URL zewnętrznej aplikacji rzeczywistym tokenem sesji użytkownika, bez weryfikacji schematu ani hosta docelowego. Złośliwy autor szablonu może w ten sposób przejąć token sesji ofiary.

Pokaż oryginał (EN)

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, `coder open app` opens external workspace-app URLs without validating the scheme or host. When an external app URL contains the `$SESSION_TOKEN` placeholder the CLI replaces it with the user's real session token before handing the URL to the OS open handler. Practical exploitation requires the victim to run `coder open app` against a workspace whose external app definition the attacker controls. Only a malicious template author can control external app URLs. The fix in versions 2.29.7, 2.32.7, 2.33.8, and 2.34.2 applies a URL-scheme allowlist in the CLI and limits `$SESSION_TOKEN` substitution to trusted destinations like the web frontend. As a workaround, avoid running `coder open app` for untrusted workspaces.

🤖 Analiza AI
Jak działa

Gdy definicja zewnętrznej aplikacji w workspace zawiera URL z placeholderem `$SESSION_TOKEN`, CLI Coder podstawia pod niego prawdziwy token sesji użytkownika przed przekazaniem URL do systemowego handlera otwierającego linki. Ponieważ schemat ani host URL nie są walidowane, atakujący kontrolujący definicję zewnętrznej aplikacji (tj. złośliwy autor szablonu) może wskazać dowolny serwer zewnętrzny. Ofiara musi samodzielnie uruchomić polecenie `coder open app` na spreparowanym workspace, co klasyfikuje ten scenariusz jako atak wymagający interakcji użytkownika (UI:R) i podniesienia zakresu (S:C). Połączenie CWE-522 (niewystarczająco chronione poświadczenia) i CWE-601 (open redirect) umożliwia zarówno kradzież tokenu, jak i przekierowanie do niezaufanego zasobu.

Skutki

Atakujący może pozyskać token sesji użytkownika, co w praktyce oznacza pełne przejęcie jego sesji w Coder i dostęp do zasobów z uprawnieniami ofiary. Możliwe jest też przekierowanie użytkownika do złośliwej strony zewnętrznej.

Mitygacja

Należy zaktualizować Coder do wersji 2.29.7, 2.32.7, 2.33.8 lub 2.34.2, w których CLI stosuje allowlistę dozwolonych schematów URL oraz ogranicza podstawianie `$SESSION_TOKEN` wyłącznie do zaufanych miejsc docelowych (np. własnego frontendu webowego). Jako obejście tymczasowe należy unikać uruchamiania polecenia `coder open app` dla niezaufanych workspace'ów.

Kogo dotyczy

Coder w wersjach wcześniejszych niż 2.29.7, 2.32.7, 2.33.8 oraz 2.34.2 — dotyczy użytkowników korzystających z polecenia `coder open app` na workspace z zewnętrznymi definicjami aplikacji.

Uwagi

Eksploatacja wymaga, aby ofiara uruchomiła `coder open app` na workspace kontrolowanym przez atakującego — atak możliwy wyłącznie gdy złośliwy podmiot jest autorem szablonu Terraform w danej organizacji Coder.

CVSS Vector
CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:C/C:H/I:H/A:N
  • Coder

    APP
    Coder
    < 2.29.172.30.0 – 2.32.7 (bez)2.33.0 – 2.33.8 (bez)2.34.0 – 2.34.2 (bez)
🔵
ZWERYFIKUJ U PRODUCENTA
Brak jednoznacznych danych o patchu. Sprawdź referencje od producenta.
CWE
Referencje

Powiązane podatności

CVE-2026-46354CRITICAL9.1PL ✓ten sam produkt

Coder: brak weryfikacji podpisu PKCS#7 w Azure Instance Identity

CVE-2026-55429HIGH8.7PL ✓ten sam produkt

Coder: nieautoryzowane przepisanie agenta między workspace'ami (IDOR)

CVE-2026-55427HIGH8.3PL ✓ten sam produkt

Coder: command injection przez niesanityzowane ustawienia SSH w ~/.ssh/config

CVE-2026-55428HIGH8.2PL ✓ten sam produkt

Coder: brak weryfikacji AllowedIPs w koordynatorze tailnet — eskalacja dostępu przez WireGuard

CVE-2026-55436HIGH7.4PL ✓ten sam produkt

Coder AI Bridge Proxy pomija weryfikację certyfikatu TLS (CWE-295)