Read the docs
TI-2026-32415 Aliases CVE-2026-44476GHSA-m6vc-f87m-cc2h

Doorkeeper OpenID Connect: Dynamic Client Registration feature creates public clients with client_secret

Priority HIGH 67CWE-1390Published · Updated

Key facts

Attack vector
Network
Privileges required
None
User interaction
None
Attack complexity
Low
Attack requirements
Present
Impact type
Security bypass
Confidentiality · integrity · availability
Low · Low · None
Fix status
Fixed

Attack profile from CVSS 4.0 · CNA. Fix status from CNA and GitHub. Impact type from CWE-287.

Summary

Doorkeeper is an OAuth 2 provider for Ruby on Rails. In version 1.9.0, an attacker who knows only a dynamically registered client's client_id, which is public information, can authenticate as that client at the token endpoint and obtain an access token without providing its client_secret. This occurs because the Dynamic Client Registration feature creates applications with confidential: false hard-coded, even though the registration response returns a client_secret and advertises support for the client_secret_basic and client_secret_post authentication methods; since Doorkeeper treats a blank or missing secret as valid for non-confidential (public) clients, the secret is never verified. Only projects that have explicitly enabled Dynamic Client Registration, which is disabled by default, are affected. This issue is fixed in version 1.10.0.

Why it matters now

Exploitation Proof of concept CISA SSVC · not in CISA KEV
EPSS 0.00564 47th percentileScored 2026-11-07
Fix Fixed doorkeeper-openid_connect (doorkeeper-gem): 1.10.0doorkeeper-openid_connect (RubyGems): 1.10.0

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
Poc
Automatable
Yes
Technical impact
Partial

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
doorkeeper-gemdoorkeeper-openid_connect1.9.0 to before 1.10.01.10.0Patch availableCNA
—doorkeeper-openid_connect (RubyGems)1.9.0 to before 1.10.01.10.0Patch availableGHSA-m6vc-f87m-cc2h
  • doorkeeper-openid_connect Vendordoorkeeper-gem Affected 1.9.0 to before 1.10.0 Fixed in 1.10.0 Patch available CNA
  • doorkeeper-openid_connect (RubyGems) Vendor— Affected 1.9.0 to before 1.10.0 Fixed in 1.10.0 Patch available GHSA-m6vc-f87m-cc2h

Remediation

  • Fix · CNA doorkeeper-openid_connect (doorkeeper-gem) Fixed in 1.10.0
  • Fix · GHSA-m6vc-f87m-cc2h doorkeeper-openid_connect (RubyGems) Fixed in 1.10.0 Advisory →

Timeline

  1. 2026-10-02 Threatist record created from CVE-2026-44476
  2. 2026-10-03 Alias added: GHSA-m6vc-f87m-cc2h

References

  • TI-2026-49360 Doorkeeper OpenID Connect: DCR endpoint persists unvalidated client-supplied scopes CVSS 3.1MEDIUM 4.2

Sources