Loading...
Skip to main content

CVE-2026-44476 — Vulnerability in doorkeeper-openid_connect — CVE...

MEDIUM

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

Published June 4, 2026Updated June 9, 2026Source: osv

Summary

### Impact The `DynamicClientRegistrationController#register` action hard-codes `confidential: false` when creating applications (dynamic_client_registration_controller.rb:18-25), yet the response includes a client_secret and advertises `token_endpoint_auth_methods_supported: ["client_secret_basic", "client_secret_post"]`. Because Doorkeeper's `Application.by_uid_and_secret` treats a blank/missing secret as valid for non-confidential (public) clients, an attacker who knows only the client_id (which is public information) can authenticate as the dynamically-registered client at the token endpoint. **Note** that Dynamic Client Registration is opt-in feature which is disabled by default so only projects that explicitly enabled it are affected. **Steps to Reproduce** 1. Enable dynamic client registration in the initializer 2. POST /oauth/registration with client_name, redirect_uris, and scope 3. Observe: response returns client_secret, but the created Doorkeeper::Application has confidential: false 4. Call `Doorkeeper::Application.by_uid_and_secret(client_id, nil)` — it returns the application (credentials bypass) 5. POST /oauth/token with grant_type=client_credentials and only client_id (no client_secret) — the token endpoint issues an access token without any secret verification ### Patches Patched in 1.10.0 ### Workarounds Upgrade existing applications created with a Dynamic Client registration to have `confidential: true`

Advisory Timeline

  • First published June 4, 2026 (130 days ago).
  • Last revised June 9, 2026 — 5 days after initial publication.

Remediation

Upgrade to the fixed version using your package manager.

Bundler
Update doorkeeper-openid_connect to 1.10.0 or later
gem install doorkeeper-openid_connect -v 1.10.0

After upgrading, run your dependency scanner again to confirm the vulnerability is resolved.

Affected Packages (1)

Affects 1 ecosystem: rubygems (1).

PackageEcosystemAffectedFixed In
doorkeeper-openid_connect
rubygems
1.9.01.10.0

Vulnerability Classification

Common Weakness Enumeration (CWE) identifiers for this vulnerability type.

CVSS Score Breakdown

What the CVSS (Common Vulnerability Scoring System) 4.8 score means for each attack dimension.

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
—
Confidentiality
—
Integrity
—
Availability
—

CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N

Frequently Asked Questions

What is CVE-2026-44476?
Doorkeeper Openid Connect: Dynamic Client Registration feature creates public clients with client_secret This vulnerability has been assigned a severity rating of MEDIUM (CVSS score: 4.8/10).
How do I check if my project is affected by CVE-2026-44476?
CVE-2026-44476 affects doorkeeper-openid_connect. Use GeekWala's free vulnerability scanner to check your dependencies against CVE-2026-44476 and 200,000+ other known vulnerabilities.

Severity & Exploitability

CVSS Score
4.8

Exploitation requires specific conditions or has limited impact. Remediate within weeks.

Also Known As

GHSA-m6vc-f87m-cc2h

Related CVEs

Check if you're affected

Scan your dependencies to see if this vulnerability affects your projects.

Scan Your Dependencies