Mend.io Vulnerability Database
The largest open source vulnerability database
What is a Vulnerability ID?
New vulnerability? Tell us about it!
CVE-2026-44476
Published:June 10, 2026
Updated:June 15, 2026
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"
Affected Packages
doorkeeper-openid_connect (RUBY):
Affected version(s) =1.9.0 <1.10.0
Fix Suggestion:
Update to version 1.10.0
Do you need more information?
Contact Us
CVSS v4
Base Score:
6.3
Attack Vector
NETWORK
Attack Complexity
LOW
Attack Requirements
PRESENT
Privileges Required
NONE
User Interaction
NONE
Vulnerable System Confidentiality
LOW
Vulnerable System Integrity
NONE
Vulnerable System Availability
NONE
Subsequent System Confidentiality
NONE
Subsequent System Integrity
NONE
Subsequent System Availability
NONE
CVSS v3
Base Score:
5.3
Attack Vector
NETWORK
Attack Complexity
LOW
Privileges Required
NONE
User Interaction
NONE
Scope
UNCHANGED
Confidentiality
LOW
Integrity
NONE
Availability
NONE
Weakness Type (CWE)
Authentication Bypass by Spoofing