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`.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
coder coder
>= 2.33.0-rc.0, < 2.33.3affected>= 2.32.0-rc.0, < 2.32.2affected>= 2.31.0, < 2.31.12affected>= 2.30.0, < 2.30.8affected>= 2.29.0, < 2.29.13affected< 2.24.5affected
References
- https://github.com/coder/coder/security/advisories/GHSA-6x44-w3xg-hqqf ↗
- https://github.com/coder/coder/pull/25286 ↗
- https://github.com/coder/coder/releases/tag/v2.24.5 ↗
- https://github.com/coder/coder/releases/tag/v2.29.13 ↗
- https://github.com/coder/coder/releases/tag/v2.30.8 ↗
- https://github.com/coder/coder/releases/tag/v2.31.12 ↗
- https://github.com/coder/coder/releases/tag/v2.32.2 ↗
- https://github.com/coder/coder/releases/tag/v2.33.3 ↗