Doorkeeper version 5.0.0 and later contains an information disclosure vulnerability that allows an attacker to retrieve the client secret only intended for the OAuth application owner. After authorizing the application and allowing access, the attacker simply needs to request the list of their authorized applications in a JSON format (usually GET /oauth/authorized_applications.json). An application is vulnerable if the authorized applications controller is enabled.
The product does not perform an authorization check when an actor attempts to access a resource or perform an action.
Name | Vendor | Start Version | End Version |
---|---|---|---|
Doorkeeper | Doorkeeper_project | 5.0.0 (including) | 5.0.3 (excluding) |
Doorkeeper | Doorkeeper_project | 5.1.0 (including) | 5.1.1 (excluding) |
Doorkeeper | Doorkeeper_project | 5.2.0 (including) | 5.2.5 (excluding) |
Doorkeeper | Doorkeeper_project | 5.3.0 (including) | 5.3.2 (excluding) |
Ruby-doorkeeper | Ubuntu | bionic | * |
Ruby-doorkeeper | Ubuntu | eoan | * |
Ruby-doorkeeper | Ubuntu | trusty | * |
Ruby-doorkeeper | Ubuntu | xenial | * |
Assuming a user with a given identity, authorization is the process of determining whether that user can access a given resource, based on the user’s privileges and any permissions or other access-control specifications that apply to the resource. When access control checks are not applied, users are able to access data or perform actions that they should not be allowed to perform. This can lead to a wide range of problems, including information exposures, denial of service, and arbitrary code execution.