{"id":"CVE-2026-111933","state":"PUBLISHED","title":"Coder before 2.34.2 User Enumeration via Login Placeholder Hash","description":"Coder before 2.29.17, 2.30.0 before 2.32.7, 2.33.0 before 2.33.8, and 2.34.0 before 2.34.2 contains a user enumeration vulnerability because userpassword.Compare() substitutes a placeholder hash derived from the string \"hunter2\" when a stored password hash is empty. Unauthenticated attackers can submit logins with the password \"hunter2\" and distinguish HTTP 403 from 401 responses to enumerate valid accounts and reveal the authentication provider of SSO-only users.","publishedAt":"2026-10-17T18:46:43.456Z","updatedAt":"2026-10-19T15:12:57.230Z","severity":{"score":6.3,"label":"Medium","version":"4.0","vector":"CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N","source":"VulnCheck"},"assigner":"VulnCheck","products":["coder coder"],"affected":[{"vendor":"coder","product":"coder","packageURL":"pkg:golang/github.com/coder/coder/v2","defaultStatus":"unaffected","versions":[{"version":"2.34.0","status":"affected","lessThan":"2.34.2","versionType":"semver"},{"version":"2.34.2","status":"unaffected","versionType":"semver"}]},{"vendor":"coder","product":"coder","packageURL":"pkg:golang/github.com/coder/coder/v2","defaultStatus":"unaffected","versions":[{"version":"2.33.0","status":"affected","lessThan":"2.33.8","versionType":"semver"},{"version":"2.33.8","status":"unaffected","versionType":"semver"}]},{"vendor":"coder","product":"coder","packageURL":"pkg:golang/github.com/coder/coder/v2","defaultStatus":"unaffected","versions":[{"version":"2.30.0","status":"affected","lessThan":"2.32.7","versionType":"semver"},{"version":"2.32.7","status":"unaffected","versionType":"semver"}]},{"vendor":"coder","product":"coder","packageURL":"pkg:golang/github.com/coder/coder/v2","defaultStatus":"unaffected","versions":[{"version":"0","status":"affected","lessThan":"2.29.17","versionType":"semver"},{"version":"2.29.17","status":"unaffected","versionType":"semver"}]}],"references":["https://github.com/coder/coder/security/advisories/GHSA-8fxq-53rx-ph5f","https://www.vulncheck.com/advisories/coder-before-2.34.2-user-enumeration-via-login-placeholder-hash"],"weaknesses":["CWE-203"],"ingestedAt":"2026-10-29T20:10:33.477Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/111xxx/CVE-2026-111933.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-111933","state":"PUBLISHED","datePublished":"2026-10-17T18:46:43.456Z","dateUpdated":"2026-10-19T15:12:57.230Z","assignerShortName":"VulnCheck","assignerOrgId":"83251b91-4cc7-4094-a5c7-464a1b83ea10","dateReserved":"2026-10-17T12:20:52.372Z"},"containers":{"cna":{"title":"Coder before 2.34.2 User Enumeration via Login Placeholder Hash","descriptions":[{"lang":"en","value":"Coder before 2.29.17, 2.30.0 before 2.32.7, 2.33.0 before 2.33.8, and 2.34.0 before 2.34.2 contains a user enumeration vulnerability because userpassword.Compare() substitutes a placeholder hash derived from the string \"hunter2\" when a stored password hash is empty. Unauthenticated attackers can submit logins with the password \"hunter2\" and distinguish HTTP 403 from 401 responses to enumerate valid accounts and reveal the authentication provider of SSO-only users."}],"affected":[{"vendor":"coder","product":"coder","packageURL":"pkg:golang/github.com/coder/coder/v2","defaultStatus":"unaffected","versions":[{"version":"2.34.0","status":"affected","lessThan":"2.34.2","versionType":"semver"},{"version":"2.34.2","status":"unaffected","versionType":"semver"}]},{"vendor":"coder","product":"coder","packageURL":"pkg:golang/github.com/coder/coder/v2","defaultStatus":"unaffected","versions":[{"version":"2.33.0","status":"affected","lessThan":"2.33.8","versionType":"semver"},{"version":"2.33.8","status":"unaffected","versionType":"semver"}]},{"vendor":"coder","product":"coder","packageURL":"pkg:golang/github.com/coder/coder/v2","defaultStatus":"unaffected","versions":[{"version":"2.30.0","status":"affected","lessThan":"2.32.7","versionType":"semver"},{"version":"2.32.7","status":"unaffected","versionType":"semver"}]},{"vendor":"coder","product":"coder","packageURL":"pkg:golang/github.com/coder/coder/v2","defaultStatus":"unaffected","versions":[{"version":"0","status":"affected","lessThan":"2.29.17","versionType":"semver"},{"version":"2.29.17","status":"unaffected","versionType":"semver"}]}],"references":[{"url":"https://github.com/coder/coder/security/advisories/GHSA-8fxq-53rx-ph5f","tags":["vendor-advisory"],"name":"GitHub Security Advisory (GHSA-8fxq-53rx-ph5f)"},{"url":"https://www.vulncheck.com/advisories/coder-before-2.34.2-user-enumeration-via-login-placeholder-hash","name":"VulnCheck Advisory: Coder before 2.34.2 User Enumeration via Login Placeholder Hash","tags":["third-party-advisory"]}],"metrics":[{"format":"CVSS","cvssV4_0":{"version":"4.0","vectorString":"CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N","attackVector":"NETWORK","attackComplexity":"HIGH","attackRequirements":"PRESENT","privilegesRequired":"NONE","userInteraction":"NONE","vulnConfidentialityImpact":"LOW","vulnIntegrityImpact":"NONE","vulnAvailabilityImpact":"NONE","subConfidentialityImpact":"NONE","subIntegrityImpact":"NONE","subAvailabilityImpact":"NONE","baseScore":6.3,"baseSeverity":"MEDIUM"}},{"format":"CVSS","cvssV3_1":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N","attackVector":"NETWORK","attackComplexity":"HIGH","privilegesRequired":"NONE","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"LOW","integrityImpact":"NONE","availabilityImpact":"NONE","baseScore":3.7,"baseSeverity":"LOW"}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-203","lang":"en","description":"Observable Discrepancy","type":"CWE"}]}],"providerMetadata":{"shortName":"VulnCheck","orgId":"83251b91-4cc7-4094-a5c7-464a1b83ea10","dateUpdated":"2026-10-17T18:46:43.456Z"},"datePublic":"2026-06-12T00:00:00.000Z","cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:a:coder:coder:*:*:*:*:*:*:*:*","versionStartIncluding":"2.34.0","versionEndExcluding":"2.34.2"}]}]},{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:a:coder:coder:*:*:*:*:*:*:*:*","versionStartIncluding":"2.33.0","versionEndExcluding":"2.33.8"}]}]},{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:a:coder:coder:*:*:*:*:*:*:*:*","versionStartIncluding":"2.30.0","versionEndExcluding":"2.32.7"}]}]},{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:a:coder:coder:*:*:*:*:*:*:*:*","versionEndExcluding":"2.29.17"}]}]}],"x_generator":{"engine":"vulncheck-endgame"}},"adp":[{"title":"CISA ADP Vulnrichment","metrics":[{"other":{"type":"ssvc","content":{"timestamp":"2026-10-19T15:09:55.562810Z","id":"CVE-2026-111933","options":[{"Exploitation":"none"},{"Automatable":"no"},{"Technical Impact":"partial"}],"role":"CISA Coordinator","version":"2.0.3"}}}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2026-10-19T15:12:57.230Z"}}]}}}