CVE-2020-10187
Exposure of Sensitive Information to an Unauthorized Actor in Doorkeeper
CVE-2020-10187 is a high vulnerability (CVSS 7.5) in Doorkeeper Project Doorkeeper, published May 4, 2020. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 1.78%, the 78th percentile. Fixed in doorkeeper 5.0.3.
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.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- High
- Integrity
- None
- Availability
- None
Exploit likelihood
What each source reports
NVD Score used
7.5
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.
- Record
CVE-2020-10187- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N - CVSS 2.0
- 4.3 Medium
AV:N/AC:M/Au:N/C:P/I:N/A:N - Weakness
- CWE-862
- Updated
- 2026-11-02
CVE List No score
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.
- Record
CVE-2020-10187- Updated
- 2026-11-02
EUVDEUVD-2020-0426 No score
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.
- Record
EUVD-2020-0426- Updated
- 2026-11-03
GitHub AdvisoriesGHSA-j7vx-8mqj-cqp9
7.5
Exposure of Sensitive Information to an Unauthorized Actor in Doorkeeper
Impact
Information disclosure vulnerability. Allows an attacker to see all Doorkeeper::Application model attribute values (including secrets) using authorized applications controller if it's enabled (GET /oauth/authorized_applications.json).
Patches
These versions have the fix:
- 5.0.3
- 5.1.1
- 5.2.5
- 5.3.2
Workarounds
Patch Doorkeeper::Application model #as_json(options = {}) method and define only those attributes you want to expose.
Additional recommended hardening is to enable application secrets hashing (guide), available since Doorkeeper 5.1. This would render the exposed secret useless.
References
- Record
GHSA-j7vx-8mqj-cqp9- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N - Weakness
- CWE-862
- Updated
- 2026-11-02
OSV
7.5
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.
- Record
CVE-2020-10187- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N - Updated
- 2026-11-02
OSVDEBIAN-CVE-2020-10187
7.5
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.
- Record
DEBIAN-CVE-2020-10187- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N - Updated
- 2026-11-02
OSVGHSA-j7vx-8mqj-cqp9
7.5
Exposure of Sensitive Information to an Unauthorized Actor in Doorkeeper
Impact
Information disclosure vulnerability. Allows an attacker to see all Doorkeeper::Application model attribute values (including secrets) using authorized applications controller if it's enabled (GET /oauth/authorized_applications.json).
Patches
These versions have the fix:
- 5.0.3
- 5.1.1
- 5.2.5
- 5.3.2
Workarounds
Patch Doorkeeper::Application model #as_json(options = {}) method and define only those attributes you want to expose.
Additional recommended hardening is to enable application secrets hashing (guide), available since Doorkeeper 5.1. This would render the exposed secret useless.
References
- Record
GHSA-j7vx-8mqj-cqp9- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N - Weakness
- CWE-862
- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
doorkeeperRubyGems |
5.0.0 up to 5.0.3 | 5.0.3 |
doorkeeperRubyGems |
5.1.0 to 5.1.0 | 5.1.1 |
doorkeeperRubyGems |
5.2.0 up to 5.2.5 | 5.2.5 |
doorkeeperRubyGems |
5.3.0 up to 5.3.2 | 5.3.2 |
ruby-doorkeeperDebian:12 |
before 5.0.3-1 | 5.0.3-1 |
ruby-doorkeeperDebian:13 |
before 5.0.3-1 | 5.0.3-1 |
ruby-doorkeeperDebian:14 |
before 5.0.3-1 | 5.0.3-1 |
doorkeeperRubyGems |
5.0.0 up to 5.0.3, plus listed versions 5.0.15.0.2 |
5.0.3 |
doorkeeperRubyGems |
5.1.0 up to 5.1.1 | 5.1.1 |
doorkeeperRubyGems |
5.2.0 up to 5.2.5, plus listed versions 5.2.15.2.25.2.35.2.4 |
5.2.5 |
doorkeeperRubyGems |
5.3.0 up to 5.3.2, plus listed versions 5.3.1 |
5.3.2 |
History
| When | Changed | Sources |
|---|---|---|
| 2026-11-03 | aliases | EUVD |
| 2026-11-02 | created | CVE List, GitHub Advisories, NVD, OSV |
References
github.com/doorkeeper-gem/doorkeeper/releases
github.com/doorkeeper-gem/doorkeeper/commit/25d038022c2fcad45af5b73f9d003cf38ff491f6
github.com/doorkeeper-gem/doorkeeper/security/advisories/GHSA-j7vx-8mqj-cqp9
github.com/rubysec/ruby-advisory-db/pull/446
nvd.nist.gov/vuln/detail/CVE-2020-10187
github.com/rubysec/ruby-advisory-db/blob/master/gems/doorkeeper/CVE-2020-10187.yml
github.com/advisories/GHSA-j7vx-8mqj-cqp9
security-tracker.debian.org/tracker/CVE-2020-10187