{"id":"CVE-2026-55428","aliases":["GHSA-wrq8-fcv5-8hvp","GO-2026-5915"],"url":"https://o3.security/vulnerability/CVE-2026-55428","summary":"Coder: Route hijacking through lack of validation of agent-supplied AllowedIPs in tailnet coordinator","details":"### Summary\n\nThe 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.\n\n### Impact\n\nA 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.\n\n### Patches\n\nThe fix validates each `AllowedIPs` prefix against the authenticating agent's UUID just like `Addresses`.\n\nThe fix was backported to all supported release lines:\n\n| Release line | Patched version |\n|---|---|\n| 2.34 | [v2.34.2](https://github.com/coder/coder/releases/tag/v2.34.2) |\n| 2.33 | [v2.33.8](https://github.com/coder/coder/releases/tag/v2.33.8) |\n| 2.32 | [v2.32.7](https://github.com/coder/coder/releases/tag/v2.32.7) |\n| 2.29 (ESR) | [v2.29.17](https://github.com/coder/coder/releases/tag/v2.29.17) |\n\n### Workarounds\n\nOperators who cannot upgrade immediately should monitor coordinator logs for agents advertising unexpected `AllowedIPs` prefixes.\n\n### Resources\n\n- Fix: #26144\n\n### Credits\n\nCoder would like to thank Anthropic's Security Team (ANT-2026-22451) for independently disclosing this issue!","published":"2026-07-07T23:57:45.338Z","modified":"2026-08-12T03:51:15.505719333Z","cvss":{"score":8.2,"severity":"HIGH","vector":"CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:H/I:H/A:N"},"epss":{"score":0.00405,"percentile":0.34284,"asOf":"2026-09-16"},"cisaKev":null,"exploitsKnown":0,"affectedPackages":[{"ecosystem":"Go","name":"github.com/coder/coder/v2","fixedVersion":"2.34.2"},{"ecosystem":"Go","name":"github.com/coder/coder/v2","fixedVersion":"2.33.8"},{"ecosystem":"Go","name":"github.com/coder/coder/v2","fixedVersion":"2.32.7"},{"ecosystem":"Go","name":"github.com/coder/coder/v2","fixedVersion":"2.29.17"}],"fix":{"url":"https://github.com/coder/coder/pull/26144","label":"coder/coder#26144"},"references":[{"type":"WEB","url":"https://github.com/coder/coder/releases/tag/v2.29.17"},{"type":"WEB","url":"https://github.com/coder/coder/releases/tag/v2.32.7"},{"type":"WEB","url":"https://github.com/coder/coder/releases/tag/v2.33.8"},{"type":"WEB","url":"https://github.com/coder/coder/releases/tag/v2.34.2"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/55xxx/CVE-2026-55428.json"},{"type":"ADVISORY","url":"https://github.com/coder/coder/security/advisories/GHSA-wrq8-fcv5-8hvp"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-55428"},{"type":"FIX","url":"https://github.com/coder/coder/pull/26144"},{"type":"PACKAGE","url":"https://github.com/coder/coder"}],"provenance":{"sources":["OSV.dev","FIRST.org (EPSS)"],"lastVerified":"2026-08-12T03:51:15.505719333Z"}}