Vulnerability GHSA-8fxq-53rx-ph5f

Low Risk
LOW RISK
CVSS Score: 3.7
Score Range: < 4.0
Low severity vulnerabilities (CVSS < 4.0). Hygiene issues that can accumulate but pose lower immediate risk.
1 month ago
August 20, 2026 at 06:34 PM UTC
Coder: Login endpoint user enumeration via timing-defense placeholder in password comparison
v2.0.0 - v2.29.16 and v2.30.0 - v2.32.6 and v2.33.0 - v2.33.7 and v2.34.0 - v2.34.1
v2.0.0 - v2.29.16 and v2.30.0 - v2.32.6 and v2.33.0 - v2.33.7 and v2.34.0 - v2.34.1

Summary

Coder: Login endpoint user enumeration via timing-defense placeholder in password comparison

Details

Summary

userpassword.Compare() substituted a placeholder hash derived from the well-known string "hunter2" when the stored hash was empty. Submitting "hunter2" therefore matched accounts with no password hash (nonexistent users and SSO-only users) and a subsequent login-type check returned an HTTP 403 that disclosed the account's login type, versus 401 for password users.

Note: Practical exploitation is limited because the timing side channel is noisy and only reveals whether an account exists.

Impact

An unauthenticated attacker could enumerate valid accounts and their authentication provider by submitting logins with the password "hunter2", distinguishing nonexistent users, SSO users (provider revealed) and password users from the response. This aids credential-stuffing and targeted phishing. No authentication bypass or data access resulted.

Patches

The fix derives the timing-defense placeholder from a secure random value that no supplied password can match.

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

None.

References

  • Fix: #26205

Credits

We'd like to thank Anthropic's Security Team (ANT-2026-22433) for independently disclosing this issue!

Related Vulnerabilities

Other vulnerabilities affecting the same packages

Unknown
1 month ago
Coder: Login endpoint user enumeration via timing-defense placeholder in password comparison in github.com/coder/coder
v2.0.0 - v2.29.16 and v2.30.0 - v2.32.6 and v2.33.0 - v2.33.7 and v2.34.0 - v2.34.1 GO-2026-6265
v2.0.0 - v2.29.16 and v2.30.0 - v2.32.6 and v2.33.0 - v2.33.7 and v2.34.0 - v2.34.1 GO-2026-6265
Unknown
1 month ago
Coder: Stored HTML injection via unescaped ApplicationName and LogoURL appearance settings in github.com/coder/coder
v2.0.0 - v2.29.16 and v2.30.0 - v2.32.6 and v2.33.0 - v2.33.7 and v2.34.0 - v2.34.1 GO-2026-6267
v2.0.0 - v2.29.16 and v2.30.0 - v2.32.6 and v2.33.0 - v2.33.7 and v2.34.0 - v2.34.1 GO-2026-6267
Low Risk
1 month ago
Coder: Stored HTML injection via unescaped ApplicationName and LogoURL appearance settings
v2.0.0 - v2.29.16 and v2.30.0 - v2.32.6 and v2.33.0 - v2.33.7 and v2.34.0 - v2.34.1 GHSA-h58c-xccx-75m3
v2.0.0 - v2.29.16 and v2.30.0 - v2.32.6 and v2.33.0 - v2.33.7 and v2.34.0 - v2.34.1 GHSA-h58c-xccx-75m3
Unknown
3 months ago
Coder: Zip upload decompression lacks aggregate size limit, enabling denial of service in github.com/coder/coder
v2.17.0 - v2.29.16 and v2.30.0 - v2.32.6 and v2.33.0 - v2.33.7 and v2.34.0 - v2.34.1 GO-2026-5916
v2.17.0 - v2.29.16 and v2.30.0 - v2.32.6 and v2.33.0 - v2.33.7 and v2.34.0 - v2.34.1 GO-2026-5916
Unknown
3 months ago
Coder's subdomain workspace app routing trusts unauthenticated X-Forwarded-Host header, enabling cross-app data access in github.com/coder/coder
v2.0.0 - v2.29.16 and v2.30.0 - v2.32.6 and v2.33.0 - v2.33.7 and v2.34.0 - v2.34.1 GO-2026-5917
v2.0.0 - v2.29.16 and v2.30.0 - v2.32.6 and v2.33.0 - v2.33.7 and v2.34.0 - v2.34.1 GO-2026-5917
View all vulnerabilities for these packages

Impacted packages

Timeline

Published
1 month ago
August 20, 2026 at 06:34 PM UTC
Fixed (v2.34.2)
4 months ago
June 11, 2026 at 08:12 PM UTC
Fixed (v2.33.8)
4 months ago
June 11, 2026 at 08:56 PM UTC
Fixed (v2.32.7)
4 months ago
June 11, 2026 at 09:29 PM UTC
Fixed (v2.29.17)
4 months ago
June 12, 2026 at 12:17 AM UTC
Last Modified
1 month ago
September 10, 2026 at 03:51 AM UTC