Coder CVE-2026-55427
HIGHSeverity by source
AV:N/AC:H/PR:N/UI:R/S:C/C:H/I:H/A:H
AC:H and UI:R capture the required privileged/MITM server position and the victim running config-ssh; S:C because injected directives affect all workstation SSH connections, yielding full C/I/A code execution.
Primary rating from Vendor (https://github.com/coder/coder).
CVSS VectorVendor: https://github.com/coder/coder
Lifecycle Timeline
1DescriptionCVE.org
Summary
coder config-ssh wrote server-supplied SSH settings (HostnameSuffix, SSHConfigOptions) into the user's ~/.ssh/config without sanitizing embedded newlines or restricting directives so a malicious or compromised Coder server could inject arbitrary SSH configuration.
> Note: Practical exploitation requires control of the server-supplied values through a malicious or compromised deployment, a man-in-the-middle position or admin access to the HostnameSuffix and SSHConfigOptions settings.
Impact
A server administrator or an attacker who controlled the server, could inject a directive such as ProxyCommand and achieve arbitrary code execution on any developer workstation that ran coder config-ssh. Injected commands ran with the local user's privileges and applied to all SSH connections, not just Coder workspaces.
Patches
The fix validates HostnameSuffix and SSHConfigOptions against a strict character set that rejects newlines and other control characters.
The fix was backported to all supported release lines:
Workarounds
Inspect coder config-ssh --dry-run output before applying changes.
Resources
- Fix: #26154
Credits
Coder would like to thank Anthropic's Security Team (ANT-2026-22437) for independently disclosing this issue!
AnalysisAI
SSH configuration injection leading to arbitrary code execution in Coder's coder config-ssh CLI command allows a malicious or compromised Coder server to write attacker-controlled directives into a developer's ~/.ssh/config. The command copied server-supplied HostnameSuffix and SSHConfigOptions values verbatim without stripping newlines, letting an attacker in control of those values inject a directive such as ProxyCommand that runs on every SSH connection from the workstation. There is no public exploit identified at time of analysis and it is not listed in CISA KEV; the issue was found and disclosed by Anthropic's Security Team and is fixed across all supported release lines.
Technical ContextAI
Coder is an open-source platform that provisions cloud development environments (workspaces) which developers reach over SSH; the affected component is the Go-based coder CLI (CPE pkg:go/github.com_coder_coder_v2) and specifically its config-ssh subcommand, which generates a managed block inside the user's OpenSSH client config. The root cause is CWE-74 (Improper Neutralization of Special Elements - Injection): the server-provided HostnameSuffix and SSHConfigOptions settings were written into ~/.ssh/config without sanitizing embedded newline/control characters or restricting which SSH directives were permitted. Because OpenSSH config is line-oriented, an embedded newline lets an attacker terminate the intended line and add arbitrary directives; directives like ProxyCommand and Match exec execute local shell commands, so config injection escalates directly to code execution. The fix (PR #26154) validates both settings against a strict allowed character set that rejects newlines and other control characters.
RemediationAI
Vendor-released patch: upgrade to the fixed version for your release line - 2.34.2, 2.33.8, 2.32.7, or 2.29.17 (ESR) - per the release tags at https://github.com/coder/coder/releases and advisory GHSA-mcqq-fqgf-rxwm; these add strict character-set validation that rejects newlines/control characters in HostnameSuffix and SSHConfigOptions. As a workaround where immediate patching is not possible, the vendor advises running coder config-ssh --dry-run and inspecting the proposed output before applying it, so any injected ProxyCommand/Match exec or other unexpected directives can be spotted (trade-off: manual per-run review, only effective if operators actually read the diff and know what legitimate output looks like). Additional compensating controls: restrict who can administer the HostnameSuffix and SSHConfigOptions deployment settings, ensure developers only run coder config-ssh against trusted servers over TLS to remove the MITM vector, and audit existing ~/.ssh/config files for unexpected ProxyCommand/Match/LocalCommand directives inside the Coder-managed block.
Vendor StatusVendor
SUSE
Severity: Important| Product | Status |
|---|---|
| SUSE Linux Enterprise Server 16.1 | Affected |
| SUSE Linux Enterprise Server for SAP applications 16.1 | Affected |
| SUSE Linux Enterprise Module for Package Hub 15 SP5 | Affected |
| SUSE Linux Enterprise Module for Package Hub 15 SP6 | Affected |
| openSUSE Leap 15.5 | Affected |
| openSUSE Leap 15.6 | Affected |
Share
External POC / Exploit Code
Leaving vuln.today
GHSA-mcqq-fqgf-rxwm