CVE-2026-44476
Deferred Deferred - Pending Action

Authentication Bypass in Doorkeeper OAuth Provider

Vulnerability report for CVE-2026-44476, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-08-25

Last updated on: 2026-09-09

Assigner: GitHub, Inc.

Description

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.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-08-25
Last Modified
2026-09-09
Generated
2026-09-15
AI Q&A
2026-08-26
EPSS Evaluated
2026-09-13
NVD

Affected Vendors & Products

Showing 1 associated CPE
Vendor Product Version / Range
doorkeeper doorkeeper to 1.10.0 (inc)

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-1390 The product uses an authentication mechanism to restrict access to specific users or identities, but the mechanism does not sufficiently prove that the claimed identity is correct.
CWE-287 When an actor claims to have a given identity, the product does not prove or insufficiently proves that the claim is correct.

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

In Doorkeeper version 1.9.0, a vulnerability allows an attacker to authenticate as a dynamically registered OAuth client using only its public client_id. The Dynamic Client Registration feature incorrectly sets confidential: false for all clients, even though it returns a client_secret and claims support for client_secret authentication methods. Since Doorkeeper treats missing secrets as valid for non-confidential clients, the secret is never verified, enabling unauthorized access token acquisition.

Detection Guidance

To detect this vulnerability, check if Doorkeeper is running version 1.9.0 and if Dynamic Client Registration is enabled. Inspect the Doorkeeper configuration file for the presence of dynamic_client_registration: true. Verify if clients are created with confidential: false despite having a client_secret.

Impact Analysis

An attacker could impersonate legitimate OAuth clients to gain access tokens, potentially accessing protected resources or performing actions on behalf of users. This could lead to data breaches, unauthorized API access, or other malicious activities if Dynamic Client Registration is enabled.

Compliance Impact

This vulnerability does not directly affect compliance with GDPR or HIPAA as it is specific to OAuth 2.0 client authentication in Doorkeeper. However, unauthorized access token issuance could potentially lead to data exposure, which may impact compliance if exploited. Projects using Dynamic Client Registration should update to version 1.10.0 or later to mitigate risks.

Mitigation Strategies

Upgrade Doorkeeper to version 1.10.0 or later to address the vulnerability. If Dynamic Client Registration is enabled, consider disabling it if not required. Ensure client_secret validation is enforced for all clients.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-44476. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart