Doorkeeper OpenID Connect: DCR endpoint persists unvalidated client-supplied scopes
Default status is the baseline for the product, each version can override it (e.g. patched versions marked unaffected).
| Vendor | Product | Default status | Versions | ||||||
|---|---|---|---|---|---|---|---|---|---|
| doorkeeper-gem | doorkeeper-openid_connect | affected |
|
No data.
No data.
| Vendor | Product | Versions | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Doorkeeper-gem | Doorkeeper-openid Connect |
|
No CVSS v4.0
No CVSS v3.0
No CVSS v2
This CVE is not in the KEV list.
Exploit prediction score: < 1% (0.258% probability within 30 days)
| Type | Values Removed | Values Added |
|---|---|---|
| First Time appeared |
Doorkeeper-gem
Doorkeeper-gem doorkeeper-openid Connect |
|
| Vendors & Products |
Doorkeeper-gem
Doorkeeper-gem doorkeeper-openid Connect |
| Type | Values Removed | Values Added |
|---|---|---|
| Metrics |
ssvc
|
| Type | Values Removed | Values Added |
|---|---|---|
| Description | Doorkeeper OpenID Connect implements an OpenID Connect authentication provider for Rails applications on top of Doorkeeper. Prior to 1.10.4, the Dynamic Client Registration (DCR) endpoint persists client-supplied scopes without validating them against the server's configured scope set. Under certain conditions, this allows a self-registered client to obtain scopes beyond what the server intended to grant. In DynamicClientRegistrationController#application_params, the scopes attribute is assigned directly from params[:scope] with no validation against Doorkeeper.configuration.scopes or optional_scopes. Combined with enforce_configured_scopes being off by default and Doorkeeper's ScopeChecker prioritizing application-level scopes over server-level scopes, this creates a privilege escalation path. This issue is fixed in version 1.10.4. | |
| Title | Doorkeeper OpenID Connect: DCR endpoint persists unvalidated client-supplied scopes | |
| Weaknesses | CWE-285 | |
| References |
| |
| Metrics |
cvssV3_1
|