CVE-2026-55428: Coder: Route hijacking through lack of validation of agent-supplied AllowedIPs in tailnet coordinator
Summary
The tailnet coordinator validates that an agent's Addresses derive from its authenticated UUID but applies no equivalent check to AllowedIPs. The coordinator forwards agent-supplied AllowedIPs verbatim to tunnel peers which install them into the WireGuard peer configuration.
Impact
A malicious workspace agent can advertise arbitrary AllowedIPs prefixes including another agent's tailnet address. Coder's ServerTailnet routes to agents by tailnet IP so an agent that claims a victim's prefix can intercept web terminal and workspace app traffic and serve spoofed content. Exploitation requires an authenticated user with a running workspace and a modified agent binary.
Patches
The fix validates each AllowedIPs prefix against the authenticating agent's UUID just like Addresses.
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
Operators who cannot upgrade immediately should monitor coordinator logs for agents advertising unexpected AllowedIPs prefixes.
Resources
- Fix: #26144
Credits
Coder would like to thank Anthropic's Security Team (ANT-2026-22451) 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, the tailnet coordinator validates that an agent's Addresses derive from its authenticated UUID but applies no equivalent check to AllowedIPs. The coordinator forwards agent-supplied AllowedIPs verbatim to tunnel peers which install them into the WireGuard peer configuration. The fix in versions 2.29.7, 2.32.7, 2.33.8, and 2.34.2 validates each AllowedIPs prefix against the authenticating agent's UUID just like Addresses. As a workaround, monitor coordinator logs for agents advertising unexpected AllowedIPs prefixes.
— 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
Coder tailnet coordinatorto a version that resolves this vulnerability.Fixed in 2.29.17 - Upgrade
Upgrade
Coder tailnet coordinatorto a version that resolves this vulnerability.Fixed in 2.32.7 - Upgrade
Upgrade
Coder tailnet coordinatorto a version that resolves this vulnerability.Fixed in 2.33.8 - Upgrade
Upgrade
Coder tailnet coordinatorto a version that resolves this vulnerability.Fixed in 2.34.2 - Compensating control
As a workaround (when unable to upgrade immediately), monitor coordinator logs for agents advertising unexpected `AllowedIPs` prefixes.
Event History
Frequently Asked Questions
What is the severity of CVE-2026-55428?
The severity of CVE-2026-55428 is high, rated at 8.2.
How do I fix CVE-2026-55428?
To fix CVE-2026-55428, ensure adequate validation of agent-supplied AllowedIPs in the tailnet coordinator.
What type of vulnerability is CVE-2026-55428?
CVE-2026-55428 is a route hijacking vulnerability due to lack of validation of AllowedIPs.
Who is affected by CVE-2026-55428?
Users of the Coder software in version 2 are affected by CVE-2026-55428.
What impact does CVE-2026-55428 have?
CVE-2026-55428 can lead to unauthorized access through improper insertion of AllowedIPs into the WireGuard peer configuration.