HIGH🇬🇧 English

CVE-2026-55429

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

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

Podatność w platformie Coder umożliwia atakującemu z uprawnieniami autora szablonu lub operatora zewnętrznego provisionera przepisanie aplikacji workspace'u na agenta należącego do innego workspace'u. Stanowi to poważne naruszenie izolacji środowisk deweloperskich i może prowadzić do nieuprawnionego dostępu do danych.

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, `UpsertWorkspaceApp` overwrites an existing app's `agent_id` on a primary-key conflict and `insertAgentApp` accepts the app ID from the provisioner's `CompleteJob` payload without verifying it belongs to the workspace being built. `CompleteJob` runs under `dbauthz.AsProvisionerd` so the authorization layer does not block the cross-workspace upsert. Exploitation requires elevated access as a template author or external provisioner operator. The fix in versions 2.29.7, 2.32.7, 2.33.8, and 2.34.2 verifies that any existing `workspace_apps` row matching the supplied ID belongs to the workspace being built and rejects cross-workspace agent reassignment. No known workarounds are available.

🤖 Analiza AI
Jak działa

Funkcja `UpsertWorkspaceApp` nadpisuje pole `agent_id` istniejącej aplikacji w przypadku konfliktu klucza głównego, nie weryfikując przynależności do bieżącego workspace'u. Funkcja `insertAgentApp` akceptuje identyfikator aplikacji z payload'u `CompleteJob` bez sprawdzenia, czy dany ID należy do budowanego workspace'u. Ponieważ `CompleteJob` działa w kontekście `dbauthz.AsProvisionerd`, warstwa autoryzacji nie blokuje tego rodzaju cross-workspace upsert. Eksploatacja wymaga jednak posiadania podwyższonych uprawnień — roli autora szablonu lub operatora zewnętrznego provisionera.

Skutki

Atakujący może przepisać aplikację (wraz z jej agentem) z jednego workspace'u do innego, uzyskując nieautoryzowany dostęp do danych i zasobów cudzego środowiska deweloperskiego, co narusza poufność i integralność środowisk innych użytkowników.

Mitygacja

Należy zaktualizować Coder do wersji 2.29.7, 2.32.7, 2.33.8 lub 2.34.2, w których wprowadzono weryfikację przynależności wiersza `workspace_apps` do budowanego workspace'u oraz odrzucanie prób cross-workspace reassignment agenta. Producent nie przewiduje obejść (workarounds) dla niezaktualizowanych instalacji.

Kogo dotyczy

Coder we wszystkich wersjach wcześniejszych niż 2.29.7, 2.32.7, 2.33.8 oraz 2.34.2

Uwagi

Eksploatacja wymaga posiadania uprawnień autora szablonu (template author) lub operatora zewnętrznego provisionera, co ogranicza powierzchnię ataku do użytkowników z podwyższonym dostępem w organizacji.

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:H/UI:N/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-55431HIGH7.7PL ✓ten sam produkt

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

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)