Vulnerability Details CVE-2026-46354
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`.
Exploit prediction scoring system (EPSS) score
EPSS Score 0.003
EPSS Ranking 17.6%
CVSS Severity
CVSS v3 Score 9.1
Products affected by CVE-2026-46354
-
cpe:2.3:a:coder:coder:0.1.0
-
cpe:2.3:a:coder:coder:0.10.0
-
cpe:2.3:a:coder:coder:0.10.1
-
cpe:2.3:a:coder:coder:0.10.2
-
cpe:2.3:a:coder:coder:0.11.0
-
cpe:2.3:a:coder:coder:0.12.0
-
cpe:2.3:a:coder:coder:0.12.1
-
cpe:2.3:a:coder:coder:0.12.2
-
cpe:2.3:a:coder:coder:0.12.3
-
cpe:2.3:a:coder:coder:0.12.4
-
cpe:2.3:a:coder:coder:0.12.5
-
cpe:2.3:a:coder:coder:0.12.6
-
cpe:2.3:a:coder:coder:0.12.7
-
cpe:2.3:a:coder:coder:0.12.8
-
cpe:2.3:a:coder:coder:0.12.9
-
cpe:2.3:a:coder:coder:0.13.0
-
cpe:2.3:a:coder:coder:0.13.1
-
cpe:2.3:a:coder:coder:0.13.2
-
cpe:2.3:a:coder:coder:0.13.3
-
cpe:2.3:a:coder:coder:0.13.4
-
cpe:2.3:a:coder:coder:0.13.5
-
cpe:2.3:a:coder:coder:0.13.6
-
cpe:2.3:a:coder:coder:0.14.0
-
cpe:2.3:a:coder:coder:0.14.1
-
cpe:2.3:a:coder:coder:0.14.2
-
cpe:2.3:a:coder:coder:0.14.3
-
cpe:2.3:a:coder:coder:0.15.0
-
cpe:2.3:a:coder:coder:0.15.1
-
cpe:2.3:a:coder:coder:0.15.2
-
cpe:2.3:a:coder:coder:0.15.3
-
cpe:2.3:a:coder:coder:0.16.0
-
cpe:2.3:a:coder:coder:0.17.0
-
cpe:2.3:a:coder:coder:0.17.1
-
cpe:2.3:a:coder:coder:0.17.2
-
cpe:2.3:a:coder:coder:0.17.3
-
cpe:2.3:a:coder:coder:0.17.4
-
cpe:2.3:a:coder:coder:0.18.0
-
cpe:2.3:a:coder:coder:0.18.1
-
cpe:2.3:a:coder:coder:0.19.0
-
cpe:2.3:a:coder:coder:0.19.1
-
cpe:2.3:a:coder:coder:0.19.2
-
cpe:2.3:a:coder:coder:0.2.0
-
cpe:2.3:a:coder:coder:0.20.0
-
cpe:2.3:a:coder:coder:0.20.1
-
cpe:2.3:a:coder:coder:0.21.0
-
cpe:2.3:a:coder:coder:0.21.1
-
cpe:2.3:a:coder:coder:0.21.2
-
cpe:2.3:a:coder:coder:0.21.3
-
cpe:2.3:a:coder:coder:0.22.0
-
cpe:2.3:a:coder:coder:0.22.1
-
cpe:2.3:a:coder:coder:0.22.2
-
cpe:2.3:a:coder:coder:0.23.0
-
cpe:2.3:a:coder:coder:0.23.1
-
cpe:2.3:a:coder:coder:0.23.2
-
cpe:2.3:a:coder:coder:0.23.3
-
cpe:2.3:a:coder:coder:0.23.4
-
cpe:2.3:a:coder:coder:0.23.5
-
cpe:2.3:a:coder:coder:0.23.6
-
cpe:2.3:a:coder:coder:0.23.7
-
cpe:2.3:a:coder:coder:0.24.0
-
cpe:2.3:a:coder:coder:0.24.1
-
cpe:2.3:a:coder:coder:0.25.0
-
cpe:2.3:a:coder:coder:0.26.0
-
cpe:2.3:a:coder:coder:0.26.1
-
cpe:2.3:a:coder:coder:0.26.2
-
cpe:2.3:a:coder:coder:0.27.0
-
cpe:2.3:a:coder:coder:0.27.1
-
cpe:2.3:a:coder:coder:0.27.2
-
cpe:2.3:a:coder:coder:0.27.3
-
cpe:2.3:a:coder:coder:0.3.0
-
cpe:2.3:a:coder:coder:0.3.1
-
cpe:2.3:a:coder:coder:0.3.2
-
cpe:2.3:a:coder:coder:0.3.3
-
cpe:2.3:a:coder:coder:0.3.4
-
cpe:2.3:a:coder:coder:0.3.5
-
cpe:2.3:a:coder:coder:0.4.0
-
cpe:2.3:a:coder:coder:0.4.1
-
cpe:2.3:a:coder:coder:0.4.2
-
cpe:2.3:a:coder:coder:0.4.3
-
cpe:2.3:a:coder:coder:0.4.4
-
cpe:2.3:a:coder:coder:0.5.0
-
cpe:2.3:a:coder:coder:0.5.1
-
cpe:2.3:a:coder:coder:0.5.10
-
cpe:2.3:a:coder:coder:0.5.11
-
cpe:2.3:a:coder:coder:0.5.2
-
cpe:2.3:a:coder:coder:0.5.3
-
cpe:2.3:a:coder:coder:0.5.4
-
cpe:2.3:a:coder:coder:0.5.5
-
cpe:2.3:a:coder:coder:0.5.6
-
cpe:2.3:a:coder:coder:0.5.7
-
cpe:2.3:a:coder:coder:0.5.8
-
cpe:2.3:a:coder:coder:0.5.9
-
cpe:2.3:a:coder:coder:0.6.0
-
cpe:2.3:a:coder:coder:0.6.1
-
cpe:2.3:a:coder:coder:0.6.2
-
cpe:2.3:a:coder:coder:0.6.3
-
cpe:2.3:a:coder:coder:0.6.4
-
cpe:2.3:a:coder:coder:0.6.5
-
cpe:2.3:a:coder:coder:0.6.6
-
cpe:2.3:a:coder:coder:0.7.0
-
cpe:2.3:a:coder:coder:0.7.1
-
cpe:2.3:a:coder:coder:0.7.10
-
cpe:2.3:a:coder:coder:0.7.11
-
cpe:2.3:a:coder:coder:0.7.12
-
cpe:2.3:a:coder:coder:0.7.2
-
cpe:2.3:a:coder:coder:0.7.3
-
cpe:2.3:a:coder:coder:0.7.4
-
cpe:2.3:a:coder:coder:0.7.5
-
cpe:2.3:a:coder:coder:0.7.6
-
cpe:2.3:a:coder:coder:0.7.7
-
cpe:2.3:a:coder:coder:0.7.8
-
cpe:2.3:a:coder:coder:0.7.9
-
cpe:2.3:a:coder:coder:0.8.0
-
cpe:2.3:a:coder:coder:0.8.1
-
cpe:2.3:a:coder:coder:0.8.10
-
cpe:2.3:a:coder:coder:0.8.11
-
cpe:2.3:a:coder:coder:0.8.12
-
cpe:2.3:a:coder:coder:0.8.13
-
cpe:2.3:a:coder:coder:0.8.14
-
cpe:2.3:a:coder:coder:0.8.15
-
cpe:2.3:a:coder:coder:0.8.2
-
cpe:2.3:a:coder:coder:0.8.3
-
cpe:2.3:a:coder:coder:0.8.4
-
cpe:2.3:a:coder:coder:0.8.5
-
cpe:2.3:a:coder:coder:0.8.6
-
cpe:2.3:a:coder:coder:0.8.7
-
cpe:2.3:a:coder:coder:0.8.8
-
cpe:2.3:a:coder:coder:0.8.9
-
cpe:2.3:a:coder:coder:0.9.0
-
cpe:2.3:a:coder:coder:0.9.1
-
cpe:2.3:a:coder:coder:0.9.10
-
cpe:2.3:a:coder:coder:0.9.2
-
cpe:2.3:a:coder:coder:0.9.3
-
cpe:2.3:a:coder:coder:0.9.4
-
cpe:2.3:a:coder:coder:0.9.5
-
cpe:2.3:a:coder:coder:0.9.6
-
cpe:2.3:a:coder:coder:0.9.7
-
cpe:2.3:a:coder:coder:0.9.8
-
cpe:2.3:a:coder:coder:0.9.9
-
cpe:2.3:a:coder:coder:2.0.0
-
cpe:2.3:a:coder:coder:2.0.1
-
cpe:2.3:a:coder:coder:2.0.2
-
cpe:2.3:a:coder:coder:2.1.0
-
cpe:2.3:a:coder:coder:2.1.1
-
cpe:2.3:a:coder:coder:2.1.2
-
cpe:2.3:a:coder:coder:2.1.3
-
cpe:2.3:a:coder:coder:2.1.4
-
cpe:2.3:a:coder:coder:2.1.5
-
cpe:2.3:a:coder:coder:2.10.0
-
cpe:2.3:a:coder:coder:2.10.1
-
cpe:2.3:a:coder:coder:2.10.2
-
cpe:2.3:a:coder:coder:2.10.3
-
cpe:2.3:a:coder:coder:2.11.0
-
cpe:2.3:a:coder:coder:2.11.1
-
cpe:2.3:a:coder:coder:2.11.2
-
cpe:2.3:a:coder:coder:2.11.3
-
cpe:2.3:a:coder:coder:2.11.4
-
cpe:2.3:a:coder:coder:2.12.0
-
cpe:2.3:a:coder:coder:2.12.1
-
cpe:2.3:a:coder:coder:2.12.2
-
cpe:2.3:a:coder:coder:2.12.3
-
cpe:2.3:a:coder:coder:2.12.4
-
cpe:2.3:a:coder:coder:2.12.5
-
cpe:2.3:a:coder:coder:2.12.6
-
cpe:2.3:a:coder:coder:2.13.0
-
cpe:2.3:a:coder:coder:2.13.1
-
cpe:2.3:a:coder:coder:2.13.2
-
cpe:2.3:a:coder:coder:2.13.3
-
cpe:2.3:a:coder:coder:2.13.4
-
cpe:2.3:a:coder:coder:2.13.5
-
cpe:2.3:a:coder:coder:2.14.0
-
cpe:2.3:a:coder:coder:2.14.1
-
cpe:2.3:a:coder:coder:2.14.2
-
cpe:2.3:a:coder:coder:2.14.3
-
cpe:2.3:a:coder:coder:2.14.4
-
cpe:2.3:a:coder:coder:2.15.0
-
cpe:2.3:a:coder:coder:2.15.1
-
cpe:2.3:a:coder:coder:2.15.2
-
cpe:2.3:a:coder:coder:2.15.3
-
cpe:2.3:a:coder:coder:2.15.4
-
cpe:2.3:a:coder:coder:2.16.0
-
cpe:2.3:a:coder:coder:2.16.1
-
cpe:2.3:a:coder:coder:2.17.0
-
cpe:2.3:a:coder:coder:2.17.2
-
cpe:2.3:a:coder:coder:2.17.3
-
cpe:2.3:a:coder:coder:2.18.0
-
cpe:2.3:a:coder:coder:2.18.1
-
cpe:2.3:a:coder:coder:2.18.2
-
cpe:2.3:a:coder:coder:2.18.3
-
cpe:2.3:a:coder:coder:2.18.4
-
cpe:2.3:a:coder:coder:2.18.5
-
cpe:2.3:a:coder:coder:2.19.0
-
cpe:2.3:a:coder:coder:2.19.1
-
cpe:2.3:a:coder:coder:2.19.2
-
cpe:2.3:a:coder:coder:2.19.3
-
cpe:2.3:a:coder:coder:2.2.0
-
cpe:2.3:a:coder:coder:2.2.1
-
cpe:2.3:a:coder:coder:2.20.0
-
cpe:2.3:a:coder:coder:2.20.1
-
cpe:2.3:a:coder:coder:2.20.2
-
cpe:2.3:a:coder:coder:2.20.3
-
cpe:2.3:a:coder:coder:2.21.0
-
cpe:2.3:a:coder:coder:2.21.1
-
cpe:2.3:a:coder:coder:2.21.2
-
cpe:2.3:a:coder:coder:2.21.3
-
cpe:2.3:a:coder:coder:2.22
-
cpe:2.3:a:coder:coder:2.22.0
-
cpe:2.3:a:coder:coder:2.22.1
-
cpe:2.3:a:coder:coder:2.23.0
-
cpe:2.3:a:coder:coder:2.23.1
-
cpe:2.3:a:coder:coder:2.23.2
-
cpe:2.3:a:coder:coder:2.23.3
-
cpe:2.3:a:coder:coder:2.23.4
-
cpe:2.3:a:coder:coder:2.23.5
-
cpe:2.3:a:coder:coder:2.24.0
-
cpe:2.3:a:coder:coder:2.24.1
-
cpe:2.3:a:coder:coder:2.24.2
-
cpe:2.3:a:coder:coder:2.24.3
-
cpe:2.3:a:coder:coder:2.24.4
-
cpe:2.3:a:coder:coder:2.29.0
-
cpe:2.3:a:coder:coder:2.29.1
-
cpe:2.3:a:coder:coder:2.29.10
-
cpe:2.3:a:coder:coder:2.29.11
-
cpe:2.3:a:coder:coder:2.29.12
-
cpe:2.3:a:coder:coder:2.29.2
-
cpe:2.3:a:coder:coder:2.29.3
-
cpe:2.3:a:coder:coder:2.29.4
-
cpe:2.3:a:coder:coder:2.29.5
-
cpe:2.3:a:coder:coder:2.29.6
-
cpe:2.3:a:coder:coder:2.29.7
-
cpe:2.3:a:coder:coder:2.29.8
-
cpe:2.3:a:coder:coder:2.29.9
-
cpe:2.3:a:coder:coder:2.3.0
-
cpe:2.3:a:coder:coder:2.3.1
-
cpe:2.3:a:coder:coder:2.3.2
-
cpe:2.3:a:coder:coder:2.3.3
-
cpe:2.3:a:coder:coder:2.30.0
-
cpe:2.3:a:coder:coder:2.30.1
-
cpe:2.3:a:coder:coder:2.30.2
-
cpe:2.3:a:coder:coder:2.30.3
-
cpe:2.3:a:coder:coder:2.30.4
-
cpe:2.3:a:coder:coder:2.30.5
-
cpe:2.3:a:coder:coder:2.30.6
-
cpe:2.3:a:coder:coder:2.30.7
-
cpe:2.3:a:coder:coder:2.31.0
-
cpe:2.3:a:coder:coder:2.31.1
-
cpe:2.3:a:coder:coder:2.31.10
-
cpe:2.3:a:coder:coder:2.31.11
-
cpe:2.3:a:coder:coder:2.31.2
-
cpe:2.3:a:coder:coder:2.31.3
-
cpe:2.3:a:coder:coder:2.31.4
-
cpe:2.3:a:coder:coder:2.31.5
-
cpe:2.3:a:coder:coder:2.31.6
-
cpe:2.3:a:coder:coder:2.31.7
-
cpe:2.3:a:coder:coder:2.31.8
-
cpe:2.3:a:coder:coder:2.31.9
-
cpe:2.3:a:coder:coder:2.33.0
-
cpe:2.3:a:coder:coder:2.33.1
-
cpe:2.3:a:coder:coder:2.33.2
-
cpe:2.3:a:coder:coder:2.4.0
-
cpe:2.3:a:coder:coder:2.5.0
-
cpe:2.3:a:coder:coder:2.5.1
-
cpe:2.3:a:coder:coder:2.6.0
-
cpe:2.3:a:coder:coder:2.6.1
-
cpe:2.3:a:coder:coder:2.7.0
-
cpe:2.3:a:coder:coder:2.7.1
-
cpe:2.3:a:coder:coder:2.7.2
-
cpe:2.3:a:coder:coder:2.7.3
-
cpe:2.3:a:coder:coder:2.8.0
-
cpe:2.3:a:coder:coder:2.8.1
-
cpe:2.3:a:coder:coder:2.8.2
-
cpe:2.3:a:coder:coder:2.8.3
-
cpe:2.3:a:coder:coder:2.8.4
-
cpe:2.3:a:coder:coder:2.8.5
-
cpe:2.3:a:coder:coder:2.9.0
-
cpe:2.3:a:coder:coder:2.9.1
-
cpe:2.3:a:coder:coder:2.9.2
-
cpe:2.3:a:coder:coder:2.9.3
-
cpe:2.3:a:coder:coder:2.9.4