Skip to main content
← All vulnerabilities
CVE-2026-55429GO-2026-5909GHSA-9RJW-3GWP-F59V

Coder's workspace app upsert allows cross-workspace agent rebinding via user-controlled app ID

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 2.34.2, 2.33.8, 2.32.7, 2.29.17
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: none
  • Automatable: no
  • Technical impact: partial

Summary

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.

Timeline

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: none · Automatable: no · Technical impact: partial

  3. Record last updated

Affected versions

  • coder coder

    From 2.34.0 · fixed in 2.34.2; From 2.33.0 · fixed in 2.33.8; From 2.30.0 · fixed in 2.32.7; fixed in 2.29.17

  • github.com/coder/coderGo

    All versions

  • github.com/coder/coder/v2Go

    fixed in 2.29.17; From 2.30.0 · fixed in 2.32.7; From 2.33.0 · fixed in 2.33.8; From 2.34.0 · fixed in 2.34.2

  • github.com/coder/coder/v2Go

    From 2.34.0 · fixed in 2.34.2

  • github.com/coder/coder/v2Go

    From 2.33.0 · fixed in 2.33.8

  • github.com/coder/coder/v2Go

    From 2.30.0 · fixed in 2.32.7

  • github.com/coder/coder/v2Go

    fixed in 2.29.17

References 6

GitHub · coder/coder