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
Credits
Coder would like to thank Anthropic's Security Team (ANT-2026-22437) for independently disclosing this issue!
References
Summary
coder config-sshwrote server-supplied SSH settings (HostnameSuffix,SSHConfigOptions) into the user's~/.ssh/configwithout sanitizing embedded newlines or restricting directives so a malicious or compromised Coder server could inject arbitrary SSH configuration.Impact
A server administrator or an attacker who controlled the server, could inject a directive such as
ProxyCommandand achieve arbitrary code execution on any developer workstation that rancoder 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
HostnameSuffixandSSHConfigOptionsagainst 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-runoutput before applying changes.Resources
Credits
Coder would like to thank Anthropic's Security Team (ANT-2026-22437) for independently disclosing this issue!
References