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.
{
"cna_assigner": "GitHub_M",
"cwe_ids": [
"CWE-347"
],
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/46xxx/CVE-2026-46354.json"
}{
"extracted_events": [
{
"cpe": "cpe:2.3:a:coder:coder:*:*:*:*:*:go:*:*",
"range": [
{
"introduced": "0"
},
{
"fixed": "2.24.5"
}
],
"source": "CPE_RANGE"
},
{
"cpe": "cpe:2.3:a:coder:coder:*:*:*:*:*:go:*:*",
"range": [
{
"introduced": "2.29.0"
},
{
"fixed": "2.29.13"
}
],
"source": "CPE_RANGE"
},
{
"cpe": "cpe:2.3:a:coder:coder:*:*:*:*:*:go:*:*",
"range": [
{
"introduced": "2.30.0"
},
{
"fixed": "2.30.8"
}
],
"source": "CPE_RANGE"
},
{
"cpe": "cpe:2.3:a:coder:coder:*:*:*:*:*:go:*:*",
"range": [
{
"introduced": "2.31.0"
},
{
"fixed": "2.31.12"
}
],
"source": "CPE_RANGE"
},
{
"cpe": "cpe:2.3:a:coder:coder:*:*:*:*:*:go:*:*",
"range": [
{
"introduced": "2.32.0"
},
{
"fixed": "2.32.2"
}
],
"source": "CPE_RANGE"
},
{
"cpe": "cpe:2.3:a:coder:coder:*:*:*:*:*:go:*:*",
"range": [
{
"introduced": "2.33.0"
},
{
"fixed": "2.33.3"
}
],
"source": "CPE_RANGE"
},
{
"original_tag": "v2.24.5",
"range": [
{
"fixed": "cc4907395be7cfd58f3cb19fe1b97f38730bfeec"
}
],
"source": "REFERENCES_TAG"
},
{
"original_tag": "v2.29.13",
"range": [
{
"fixed": "25ddc1cb787ae88af6040590f676b3d31a63e225"
}
],
"source": "REFERENCES_TAG"
},
{
"original_tag": "v2.30.8",
"range": [
{
"fixed": "74eba1e8a9f98fddd782b9123241b53510f3c8c9"
}
],
"source": "REFERENCES_TAG"
},
{
"original_tag": "v2.31.12",
"range": [
{
"fixed": "dfe986b2b051a962e8035b0941f5adf312b3926c"
}
],
"source": "REFERENCES_TAG"
},
{
"original_tag": "v2.32.2",
"range": [
{
"fixed": "5f343bc337b413aeee8ef2d47004ef97196607c1"
}
],
"source": "REFERENCES_TAG"
},
{
"original_tag": "v2.33.3",
"range": [
{
"fixed": "2b778f292c2ddf8ac261683d0d5d8a18da1512f6"
}
],
"source": "REFERENCES_TAG"
}
]
}