CVE-2026-46354
Description
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`.
How to fix
- coder coder2.24.5, 2.29.13, 2.30.8, 2.31.12, 2.32.2, 2.33.3 or later
- github.com/coder/coder/v22.33.3, 2.32.2, 2.31.12, 2.30.8, 2.29.13, 2.24.5 or later
Affected products
| Product | Affected versions | Fixed in |
|---|---|---|
| coder coder | v < 2.24.5, 2.29.0 ≤ v < 2.29.13, 2.30.0 ≤ v < 2.30.8, 2.31.0 ≤ v < 2.31.12, 2.32.0 ≤ v < 2.32.2, 2.33.0 ≤ v < 2.33.3 | 2.24.5, 2.29.13, 2.30.8, 2.31.12, 2.32.2, 2.33.3 |
| github.com/coder/coder/v2Go | 2.33.0-rc.0 ≤ v < 2.33.3, 2.32.0-rc.0 ≤ v < 2.32.2, 2.31.0 ≤ v < 2.31.12, 2.30.0 ≤ v < 2.30.8, 2.29.0 ≤ v < 2.29.13, v < 2.24.5 | 2.33.3, 2.32.2, 2.31.12, 2.30.8, 2.29.13, 2.24.5 |
| github.com/coder/coderGo | v ≤ 0.27.3, No range specified | — |
Check your version
Choose the product and enter the version you run to see whether it falls in the affected range.
Attack Surface Management
See the assets tied to your domains, the technologies they run and known vulnerabilities in one list.