CVE-2026-55428: Coder Tailnet IP Spoofing via AllowedIPs Validation Bypass
Coder, a platform for provisioning remote development environments via Terraform, contains a validation gap that allows authenticated agents to inject arbitrary IP ranges into the WireGuard tunnel configuration of other agents. An attacker with valid credentials can manipulate the `AllowedIPs` field to route network traffic through their controlled agent, potentially intercepting or redirecting communications intended for legitimate development environments. This is a cross-tenant risk in multi-user deployments where agents from different organizations or teams share a tailnet coordinator.
Source data · NVD / CISA · public domain
- CVSS
- 3.1 · 8.2 HIGH · CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:H/I:H/A:N
- Weaknesses (CWE)
- CWE-285, CWE-863
- Affected products
- 1 configuration(s)
- Published / Modified
- 2026-07-08 / 2026-07-08
NVD description (verbatim)
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.
6 reference(s) · View on NVD →
SEC.co analysis · AI-assisted, reviewed against source
Technical summary
The vulnerability stems from inconsistent input validation in Coder's tailnet coordinator. While the coordinator correctly validates that an agent's `Addresses` field corresponds to the agent's authenticated UUID, no equivalent authorization check exists for the `AllowedIPs` parameter. An authenticated agent can supply arbitrary IP prefixes in `AllowedIPs`, which the coordinator forwards directly to tunnel peers without validation. These peers then install the attacker-controlled prefixes into their WireGuard interface configuration, creating unauthorized routing paths. The fix implements UUID-based validation for `AllowedIPs` identical to the existing `Addresses` validation, ensuring agents can only advertise IP ranges they are authorized to claim.
Business impact
In organizations using Coder for remote development infrastructure, this vulnerability enables lateral movement and traffic interception within the development network. An authenticated insider or compromised agent credential could redirect traffic destined for legitimate development environments, potentially exfiltrating code, stealing credentials, or executing man-in-the-middle attacks. The cross-scope aspect (CVSS S:C) indicates blast radius across logical network boundaries; in shared-tenant or multi-team Coder deployments, the risk extends beyond a single project or environment. Development teams may inadvertently route sensitive code or build artifacts through a malicious peer.
Affected systems
Coder versions prior to 2.29.7, 2.32.7, 2.33.8, and 2.34.2 are affected. Organizations should verify their deployed Coder version against these patched releases. The vulnerability affects any agent registered with a vulnerable coordinator, particularly in multi-agent deployments where agents communicate across team or organizational boundaries via a shared tailnet.
Exploitability
Exploitation requires valid Coder agent credentials (PR:L in CVSS). The attack is not trivial—an attacker must craft a malicious agent or modify an existing agent's configuration to advertise unauthorized `AllowedIPs`—hence the AC:H (high attack complexity) rating. However, once exploited, the impact is significant: the attacker gains visibility into peer traffic and can perform selective routing attacks without triggering immediate alerts. The barrier to exploitation is moderate; it is not a zero-click or unauthenticated vector, but any user with agent provisioning permissions or access to agent configuration could attempt this attack.
Remediation
Upgrade Coder to version 2.29.7, 2.32.7, 2.33.8, or 2.34.2 or later, depending on your current version line. Apply the patch during a maintenance window to avoid disrupting active development environments. For organizations unable to patch immediately, implement coordinator log monitoring to detect agents advertising unexpected `AllowedIPs` prefixes. Cross-reference advertised prefixes against your known network topology and approved agent configurations; any deviation warrants investigation.
Patch guidance
Verify your current Coder version using the CLI or administrative UI. Consult your Coder instance's release notes to determine which version line you are on (2.29.x, 2.32.x, 2.33.x, or 2.34.x), then upgrade to the corresponding patched version listed above. Test the patch in a staging environment if possible, particularly if you have custom networking or WireGuard peer configurations. After upgrading, restart or reconcile affected agents to apply the new validation rules.
Detection guidance
Enable verbose logging on the Coder coordinator and search for `AllowedIPs` entries that do not match the advertising agent's UUID-derived address ranges. Collect netflow or DNS logs from your development network to identify unexpected traffic routing patterns or tunneled flows to unfamiliar IP ranges. If you see agents advertising multiple disjoint `AllowedIPs` blocks, especially those corresponding to other teams' or organizations' subnets, escalate for manual review. WireGuard peer configuration audit tools can reveal mismatches between expected and installed peer settings.
Why prioritize this
This vulnerability merits rapid patching due to the HIGH CVSS score (8.2), high confidentiality and integrity impact, cross-scope risk, and the sensitivity of development environments. Development infrastructure often holds pre-production code, credentials, API keys, and other high-value secrets. A successful attack could compromise intellectual property or enable downstream attacks on production systems. Although PR:L limits the attack surface, the consequence of a breach is severe. Treat this as a priority 1 or 2 issue in your patch cycle.
Risk score, explained
CVSS 8.2 reflects high impact (C:H, I:H) limited by authentication requirement (PR:L) and attack complexity (AC:H). The cross-scope aspect (S:C) elevates risk in shared-tenant scenarios. No availability impact (A:N) prevents a perfect 9.0+, but the combination of confidentiality (traffic interception) and integrity (routing manipulation) in a network-sensitive context justifies the HIGH severity. For development-focused organizations where code and secrets are primary assets, the real-world risk may exceed the base CVSS if an attacker can persistently intercept or modify agent communications.
Frequently asked questions
Does this vulnerability affect single-user or single-agent Coder deployments?
No. The vulnerability requires at least two agents communicating through a shared tailnet coordinator. A standalone Coder instance with a single development agent has minimal risk. However, any organization using Coder's multi-agent or multi-environment architecture should patch regardless of team size, as the vulnerability could be exploited by an insider or someone with agent credentials.
Can this be exploited remotely without Coder credentials?
No. The CVSS vector indicates PR:L (Privileges Required: Low), meaning an attacker must possess valid Coder agent credentials or internal network access to provision an agent. This is not a zero-authentication vulnerability. However, in organizations where Coder agents are widely deployed or provisioned by CI/CD pipelines, credential compromise could lower the practical barrier to attack.
What is the difference between Addresses and AllowedIPs in this context?
Addresses represent the IP addresses assigned to the agent itself within the tailnet. AllowedIPs represent the IP ranges that an agent claims it can route or access on behalf of its peers. The vulnerability exploits the missing validation of AllowedIPs, allowing an agent to claim ownership of subnets it should not be able to access, thereby intercepting traffic intended for other agents' legitimate networks.
If we are monitoring coordinator logs as a workaround, what specifically should we look for?
Search coordinator logs for agent registration or update events that include AllowedIPs entries. Flag any agent that advertises multiple or overlapping AllowedIPs prefixes, or prefixes that do not align with that agent's known network scope. Cross-reference against a baseline of legitimate agent configurations. Unexpected or mismatched AllowedIPs are a strong indicator of misconfiguration or attack and warrant immediate investigation.
This analysis is provided for informational purposes and does not constitute professional security advice. Organizations should verify CVE details against official Coder vendor advisories and assess applicability to their specific deployment. Patch versions and timelines may vary; consult your vendor for the most current guidance. No exploit code or weaponized proof-of-concept is provided. SEC.co recommends engaging qualified security personnel to evaluate risk in your environment and implement appropriate controls. Source: NVD (public-domain), retrieved 2026-08-16. Analysis generated by SEC.co (claude-haiku-4-5).
Related vulnerabilities
- CVE-2026-45490HIGH.NET Authorization Bypass Enables Local Privilege Escalation
- CVE-2026-10211MEDIUMAstrBot 4.23.6 Path Normalization Authorization Bypass
- CVE-2026-12797MEDIUMBerriAI litellm Banned Keywords Bypass Vulnerability
- CVE-2026-13508MEDIUMKhoj AI Conversation Authorization Bypass (CVSS 5.5)
- CVE-2026-14716MEDIUMGoClaw WebSocket Authorization Bypass Vulnerability
- CVE-2026-15318MEDIUMMQTT Authorization Bypass in Sipeed PicoClaw
- CVE-2026-49397MEDIUMNezha Monitoring Private Service Enumeration Vulnerability
- CVE-2026-59226LOWOpen WebUI Deactivated User Automation Execution Flaw