Skip to main content
← All vulnerabilities
CVE-2024-27918GHSA-7CC2-R658-7XPFGO-2024-2602

Coder's OIDC authentication allows email with partially matching domain to register

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 2.8.4, 2.7.3, 2.6.1
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: none
  • Automatable: yes
  • Technical impact: partial

Summary

Coder allows oragnizations to provision remote development environments via Terraform. Prior to versions 2.6.1, 2.7.3, and 2.8.4, a vulnerability in Coder's OIDC authentication could allow an attacker to bypass the `CODER_OIDC_EMAIL_DOMAIN` verification and create an account with an email not in the allowlist. Deployments are only affected if the OIDC provider allows users to create accounts on the provider. During OIDC registration, the user's email was improperly validated against the allowed `CODER_OIDC_EMAIL_DOMAIN`s. This could allow a user with a domain that only partially matched an allowed domain to successfully login or register. An attacker could register a domain name that exploited this vulnerability and register on a Coder instance with a public OIDC provider. Coder instances with OIDC enabled and protected by the `CODER_OIDC_EMAIL_DOMAIN` configuration are affected. Coder instances using a private OIDC provider are not affected, as arbitrary users cannot register through a private OIDC provider without first having an account on the provider. Public OIDC providers are impacted. GitHub authentication and external authentication are not impacted. This vulnerability is remedied in versions 2.8.4, 2.7.3, and 2.6.1 All versions prior to these patches are affected by the vulnerability.*It is recommended that customers upgrade their deployments as soon as possible if they are utilizing OIDC authentication with the `CODER_OIDC_EMAIL_DOMAIN` setting.

Timeline

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: none · Automatable: yes · Technical impact: partial

  3. Record last updated

Affected versions

  • coder coder

    From 2.8.0 · fixed in 2.8.4; From 2.7.0 · fixed in 2.7.3; fixed in 2.6.1

  • github.com/coder/coder/v2Go

    From 2.8.0 · fixed in 2.8.4

  • github.com/coder/coder/v2Go

    From 2.7.0 · fixed in 2.7.3

  • github.com/coder/coder/v2Go

    fixed in 2.6.1

  • github.com/coder/coderGo

    through 0.27.3

  • github.com/coder/coderGo

    All versions

  • github.com/coder/coder/v2Go

    fixed in 2.6.1; From 2.7.0 · fixed in 2.7.3; From 2.8.0 · fixed in 2.8.4

References 5

GitHub · coder/coder