Coder's subdomain workspace app routing trusts unauthenticated X-Forwarded-Host header, enabling cross-app data access
Key facts
- Attack vector
- Network
- Privileges required
- Low
- User interaction
- Required
- Attack complexity
- Low
- Impact type
- Security bypass
- Confidentiality · integrity · availability
- High · None · None
- Fix status
- Fixed
Attack profile from CVSS 3.1 · NVD. Fix status from CNA and GitHub. Impact type from CWE-345.
Summary
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 workspace app proxy resolves the target app from `httpapi.RequestHost()` which prefers the `X-Forwarded-Host` header over the real `Host` header. No middleware strips `X-Forwarded-Host` before routing and the header is not browser-forbidden so client-side JavaScript can set it on `fetch()` calls. Practical exploitation requires subdomain app routing (wildcard hostname) enabled, a victim who visits the attacker's shared app and a deployment whose upstream proxy does not strip `X-Forwarded-Host`. The fix in versions 2.29.7, 2.32.7, 2.33.8, and 2.34.2 trusts `X-Forwarded-Host` only from configured trusted proxies and otherwise resolves the routing host from the verified request host. As a workaround, place an upstream reverse proxy that strips or overwrites `X-Forwarded-Host` on untrusted requests.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- No
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| coder | coder | 2.34.0 to before 2.34.2; 2.33.0 to before 2.33.8; 2.30.0 to before 2.32.7; before 2.29.17 | 2.34.2, 2.33.8, 2.32.7, 2.29.17 | Patch available | CNA |
| — | github.com/coder/coder/v2 (Go) | 2.34.0 to before 2.34.2 | 2.34.2 | Patch available | GHSA-5g4w-3vw9-478w |
| — | github.com/coder/coder/v2 (Go) | 2.33.0 to before 2.33.8 | 2.33.8 | Patch available | GHSA-5g4w-3vw9-478w |
| — | github.com/coder/coder/v2 (Go) | 2.30.0 to before 2.32.7 | 2.32.7 | Patch available | GHSA-5g4w-3vw9-478w |
| — | github.com/coder/coder/v2 (Go) | before 2.29.17 | 2.29.17 | Patch available | GHSA-5g4w-3vw9-478w |
- coder Vendorcoder Affected 2.34.0 to before 2.34.2; 2.33.0 to before 2.33.8; 2.30.0 to before 2.32.7; before 2.29.17 Fixed in 2.34.2, 2.33.8, 2.32.7, 2.29.17 Patch available CNA
- github.com/coder/coder/v2 (Go) Vendor— Affected 2.34.0 to before 2.34.2 Fixed in 2.34.2 Patch available GHSA-5g4w-3vw9-478w
- github.com/coder/coder/v2 (Go) Vendor— Affected 2.33.0 to before 2.33.8 Fixed in 2.33.8 Patch available GHSA-5g4w-3vw9-478w
- github.com/coder/coder/v2 (Go) Vendor— Affected 2.30.0 to before 2.32.7 Fixed in 2.32.7 Patch available GHSA-5g4w-3vw9-478w
- github.com/coder/coder/v2 (Go) Vendor— Affected before 2.29.17 Fixed in 2.29.17 Patch available GHSA-5g4w-3vw9-478w
CPE configurations NVD · 1
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| cpe:2.3:a:coder:coder:*:*:*:*:*:go:*:* | before 2.29.17; 2.30.0 to before 2.32.7; 2.33.0 to before 2.33.8; 2.34.0 to before 2.34.2 | Vulnerable | coder |
- cpe:2.3:a:coder:coder:*:*:*:*:*:go:*:* Versions before 2.29.17; 2.30.0 to before 2.32.7; 2.33.0 to before 2.33.8; 2.34.0 to before 2.34.2 Vulnerable ·coder
Remediation
- Fix · CNA coder (coder) Fixed in 2.34.2, 2.33.8, 2.32.7, 2.29.17
- Fix · GHSA-5g4w-3vw9-478w github.com/coder/coder/v2 (Go) Fixed in 2.34.2 Advisory →
- Fix · GHSA-5g4w-3vw9-478w github.com/coder/coder/v2 (Go) Fixed in 2.33.8 Advisory →
- Fix · GHSA-5g4w-3vw9-478w github.com/coder/coder/v2 (Go) Fixed in 2.32.7 Advisory →
- Fix · GHSA-5g4w-3vw9-478w github.com/coder/coder/v2 (Go) Fixed in 2.29.17 Advisory →
Timeline
- 2026-10-02 Threatist record created from CVE-2026-55430
- 2026-10-03 Alias added: GHSA-5g4w-3vw9-478w
References
Patch 2
More Coder vulnerabilities
- TI-2026-34071 Coder: PKCS#7 signature bypass in Azure instance identity allows unauthenticated agent token theft CVSS 3.1CRITICAL 9.1
- TI-2026-32394 Coder vulnerable to workspace auto-creation via crafted URL parameters without user consent CVSS 3.1HIGH 8.8
- TI-2024-18523 Coder's OIDC authentication allows email with partially matching domain to register CVSS 3.1HIGH 8.2
- TI-2026-39997 Coder's workspace app upsert allows cross-workspace agent rebinding via user-controlled app ID CVSS 3.1HIGH 8.7
- TI-2026-39996 Coder: Route hijacking through lack of validation of agent-supplied AllowedIPs in tailnet coordinator CVSS 3.1HIGH 8.2
- TI-2026-39995 Coder vulnerable to SSH config injection via unsanitized server-supplied values in `coder config-ssh` CVSS 3.1HIGH 8.3
Sources
- CVE-2026-55430 · CVE Program
- CVE-2026-55430 · NVD
- FIRST EPSS
- GHSA-5g4w-3vw9-478w · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences