Summary
CVE-2026-46354 is a critical PKCS#7 signature verification bypass in Coder, a self-hosted remote development environment platform, affecting all versions prior to the patched releases listed below. The flaw resides in the azureidentity.Validate() function, which verifies that a signer certificate chains to a trusted Azure certificate authority but never validates the cryptographic signature on the PKCS#7 envelope itself. An unauthenticated remote attacker who can supply a forged PKCS#7 payload to an unprotected API endpoint can obtain valid workspace agent session tokens and exfiltrate developer credentials. This vulnerability carries a CVSS v3.1 base score of 9.1 (Critical).
Technical details
- Root cause:
azureidentity.Validate()performs certificate chain validation against a trusted Azure CA but omits verification of the PKCS#7 cryptographic signature, meaning the signed content itself is never authenticated. - Trigger conditions: An attacker sends a crafted HTTP POST request to the unauthenticated endpoint
POST /api/v2/workspaceagents/azure-instance-identity, embedding a legitimate Azure IMDS certificate inside a forged PKCS#7 envelope alongside attacker-controlled content such as{"vmId":"<target>"}. - Attack vector: Fully remote, no authentication or user interaction required (AV:N, PR:N, UI:N). Exploitation requires knowledge of the target Azure VM’s
vmId(a UUIDv4), which the official advisory notes would typically require prior access to obtain; however, Azure IMDS certificates appear in Certificate Transparency logs, and VM IDs may also be exposed via cloud metadata services, CI/CD pipeline logs, or Azure portal enumeration. - Impact: A successful attack causes the server to return the victim workspace agent’s session token. This token can be used to exfiltrate Git SSH private keys, OAuth access tokens for GitHub, GitLab, and Bitbucket integrations, and other workspace secrets, enabling unauthorized access to source code repositories and potential impersonation of the workspace owner.
Affected software
- Coder v2: all versions prior to 2.24.5
- Coder v2: versions 2.29.0 – 2.29.12 (prior to 2.29.13)
- Coder v2: versions 2.30.0 – 2.30.7 (prior to 2.30.8)
- Coder v2: versions 2.31.0 – 2.31.11 (prior to 2.31.12)
- Coder v2: versions 2.32.0 – 2.32.1 (prior to 2.32.2)
- Coder v2: versions 2.33.0 – 2.33.2 (prior to 2.33.3)
- Coder v1: all versions up to and including 0.27.3 (no patch available for v1)
Severity
CVSS v3.1 Base Score: 9.1 (Critical)
Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N
Mitigation and recommended actions
- Immediate – upgrade: Update to one of the patched releases: v2.24.5, v2.29.13, v2.30.8, v2.31.12, v2.32.2, or v2.33.3 (or later). The fix adds cryptographic verification of the PKCS#7 signature in
azureidentity.Validate(). - Workaround (if immediate upgrade is not possible): Reconfigure any Azure workspace templates to use token authentication instead of
azure-instance-identity. This disables the vulnerable code path entirely. - Coder v1 users: No patch will be released for v1. Migrate to a supported v2 release or apply the token-authentication workaround immediately.
- Network mitigation: Restrict internet-facing access to Coder API endpoints where possible while remediation is being planned.
IONIX Status
The IONIX research team is tracking ongoing exploitation attempts and recommends immediate patching. Potentially affected assets are outlined in this post.

