HIGH 8.7

CVE-2026-55429: Coder Workspace Agent Cross-Workspace Reassignment Vulnerability

Coder, a platform for provisioning remote development environments, contains a critical flaw in how it manages workspace applications and their associated agents. When Coder provisions infrastructure via Terraform, two code paths fail to properly validate ownership of resources: the upsert logic overwrites agent assignments without checking workspace boundaries, and the job completion handler accepts agent IDs without verifying they belong to the workspace being built. An attacker with template author or provisioner operator privileges could exploit this to reassign agents across workspaces, potentially gaining unauthorized access to development environments and sensitive resources. The vulnerability is now fixed in recent patch releases.

Source data · NVD / CISA · public domain

CVSS
3.1 · 8.7 HIGH · CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:N
Weaknesses (CWE)
CWE-639
Affected products
1 configuration(s)
Published / Modified
2026-07-08 / 2026-07-08

NVD description (verbatim)

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.

6 reference(s) · View on NVD →

SEC.co analysis · AI-assisted, reviewed against source

Technical summary

The vulnerability stems from two distinct authorization bypass issues in Coder's workspace provisioning logic. First, `UpsertWorkspaceApp` performs a primary-key conflict resolution that overwrites the `agent_id` field on existing rows without validating the workspace context. Second, `insertAgentApp` accepts the app ID directly from the provisioner's `CompleteJob` payload without verifying that the referenced app belongs to the target workspace. Because `CompleteJob` executes under the `dbauthz.AsProvisionerd` authorization context, the standard authorization layer does not intercept the cross-workspace upsert. The fix introduces explicit workspace ownership validation in both code paths, ensuring that any workspace_apps row targeted during upsert belongs to the workspace being built, and rejecting attempts to reassign agents across workspace boundaries.

Business impact

Successful exploitation allows an insider with template authorship or provisioner operator permissions to redirect workspace agents—the compute resources executing development code—across organizational boundaries. This could enable unauthorized access to sensitive repositories, build artifacts, and development databases tied to other workspaces. For organizations using Coder to isolate development environments by team, customer, or project, this represents a data exfiltration and lateral movement risk. The requirement for elevated privileges limits the attack surface to trusted internal roles, but insider threats and compromised provisioner systems remain realistic vectors.

Affected systems

Coder versions prior to 2.29.7, 2.32.7, 2.33.8, and 2.34.2 are vulnerable. Organizations running Coder should identify which version they are deployed on and cross-reference against the patched releases. Verify your version via the Coder administrative UI or CLI before assessing patch timelines.

Exploitability

Exploitation requires authenticated access as either a template author (who defines Terraform provisioning logic) or an external provisioner operator (who manages the provisioning service). The attack cannot be executed by standard workspace users or unauthenticated actors. However, for organizations with contractor or third-party provisioner integrations, or those with broadly delegated template authorship, the threat surface may be larger than typical. The network attack vector (AV:N) reflects that Coder is typically deployed as a web service, but the high privilege requirement (PR:H) substantially constrains real-world risk.

Remediation

Upgrade to Coder 2.29.7, 2.32.7, 2.33.8, or 2.34.2 depending on your current major version line. No known workarounds exist for older versions, so patching is mandatory for affected deployments. Plan upgrades during maintenance windows, as provisioning operations should not be in flight during the upgrade. Test the upgrade in a staging environment first, particularly if your deployment includes custom provisioner integrations.

Patch guidance

Determine your current Coder version and select the appropriate patch: versions in the 2.29 line should upgrade to 2.29.7, 2.32 line to 2.32.7, 2.33 line to 2.33.8, and 2.34 line to 2.34.2. Consult the Coder release notes for any breaking changes or migration steps. Because this fix tightens validation logic, organizations with non-standard provisioning workflows should validate that legitimate workspace provisioning continues to succeed after patching. If you are running a version older than 2.29, you may need to plan a more significant upgrade path—review the Coder upgrade documentation for multi-version jumps.

Detection guidance

Monitor audit logs for unusual `UpsertWorkspaceApp` or `CompleteJob` operations, especially those that originate from provisioner service accounts or template author roles and target workspaces outside expected scope. Look for repeated failures in provisioning that may indicate an attacker probing the validation logic. If Coder logs include database query patterns, unusual agent_id reassignments across workspace boundaries would be a key signal. Organizations with centralized logging should correlate Coder activity with infrastructure access logs to detect whether redirected agents were actually used to access unintended resources.

Why prioritize this

This is a HIGH-severity vulnerability (CVSS 8.7) that affects a core function of Coder—provisioning and isolating development infrastructure. While exploitation requires elevated privileges, the scope impact (S:C) means a single successful attack can affect resources outside the immediate provisioning workspace. For organizations relying on Coder to enforce environment isolation for compliance or multi-tenancy, this represents a material risk. Patching should be prioritized within standard update cycles; there is no emergency timeframe, but deferral beyond the next planned maintenance window is not justified.

Risk score, explained

The CVSS 8.7 score reflects high impact (confidentiality and integrity both set to H) balanced against the requirement for high privilege (PR:H) and network-only attack vector. The scope change (S:C) indicates that compromised workspace agents can affect resources in other security domains. The absence of user interaction (UI:N) and low attack complexity (AC:L) mean an authenticated insider can exploit this straightforwardly. This scoring appropriately reflects the insider threat nature of the vulnerability—serious for organizations with restricted provisioner access, critical for those with broad template authorship or contractor integrations.

Frequently asked questions

Do we need to patch if we restrict template authorship to a small internal team?

Yes. While restricting template author privileges reduces the practical attack surface, any compromised or malicious insider with that role could exploit the vulnerability. Additionally, if your provisioner is managed by a third party or run in an untrusted environment, that vector remains open. Patching eliminates the vulnerability entirely rather than relying on access controls alone.

Will patching affect our existing workspaces or provisioning workflows?

The patch tightens validation to reject invalid cross-workspace agent reassignments. Legitimate provisioning workflows that respect workspace boundaries should be unaffected. However, if you have custom provisioners or non-standard workspace configurations that rely on the previous (flawed) behavior, you may see provisioning failures. Test the patch in a staging environment and review your provisioner logs post-upgrade to confirm no unexpected rejections occur.

Is this vulnerability being actively exploited?

This vulnerability is not currently listed in the CISA KEV catalog, indicating no known public exploits or active exploitation campaigns as of the publication date. However, the relatively low barrier to exploitation (authenticated access, straightforward logic) means that advanced internal threats could discover and exploit it independently. Treat the lack of public exploitation as reducing urgency, not as eliminating risk.

What if we cannot upgrade immediately due to operational constraints?

No workarounds exist. Organizations that cannot patch immediately should increase monitoring of provisioner and template author activity, restrict template authorship to the smallest possible set of trusted users, and review audit logs for suspicious workspace app operations. Consider using network segmentation to limit what an agent in one workspace can access, but this is a compensating control only—patching remains necessary.

This analysis is based on the CVE description and CVSS scoring provided as of the publication date. Specific version numbers, patch availability, and vendor guidance should be verified directly against Coder's official security advisory and release notes before making remediation decisions. Exploit code is not provided, and this guidance is intended for defensive use only. Organizations should conduct their own risk assessment based on their infrastructure, access controls, and operational context. Source: NVD (public-domain), retrieved 2026-08-16. Analysis generated by SEC.co (claude-haiku-4-5).