Coder's subdomain workspace app routing trusts unauthenticated X-Forwarded-Host header, enabling cross-app data access
Description
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.
Affected packages
Versions sourced from the GitHub Security Advisory.
| Package | Affected versions | Patched versions |
|---|---|---|
github.com/coder/coder/v2Go | >= 2.34.0, < 2.34.2 | 2.34.2 |
github.com/coder/coder/v2Go | >= 2.33.0, < 2.33.8 | 2.33.8 |
github.com/coder/coder/v2Go | >= 2.30.0, < 2.32.7 | 2.32.7 |
github.com/coder/coder/v2Go | < 2.29.17 | 2.29.17 |
Affected products
1Patches
Vulnerability mechanics
References
7- github.com/advisories/GHSA-5g4w-3vw9-478wghsaADVISORY
- github.com/coder/coder/pull/26204ghsax_refsource_MISCWEB
- github.com/coder/coder/releases/tag/v2.29.17mitrex_refsource_MISC
- github.com/coder/coder/releases/tag/v2.32.7mitrex_refsource_MISC
- github.com/coder/coder/releases/tag/v2.33.8mitrex_refsource_MISC
- github.com/coder/coder/releases/tag/v2.34.2mitrex_refsource_MISC
- github.com/coder/coder/security/advisories/GHSA-5g4w-3vw9-478wghsax_refsource_CONFIRMWEB
News mentions
0No linked articles in our index yet.