Ruby/doorkeeper/3.0.1
Doorkeeper is an OAuth 2 provider for Rails and Grape.
https://rubygems.org/gems/doorkeeper
MIT
7 Security Vulnerabilities
Doorkeeper is vulnerable to replay attacks
- https://nvd.nist.gov/vuln/detail/CVE-2016-6582
- https://github.com/advisories/GHSA-3m6r-39p3-jq25
- https://github.com/doorkeeper-gem/doorkeeper/issues/875
- https://github.com/doorkeeper-gem/doorkeeper/releases/tag/v4.2.0
- http://packetstormsecurity.com/files/138430/Doorkeeper-4.1.0-Token-Revocation.html
- http://seclists.org/fulldisclosure/2016/Aug/105
- http://www.securityfocus.com/archive/1/539268/100/0/threaded
- http://www.securityfocus.com/bid/92551
- https://github.com/rubysec/ruby-advisory-db/blob/master/gems/doorkeeper/CVE-2016-6582.yml
- https://web.archive.org/web/20170214021758/http://www.securityfocus.com/bid/92551
- https://web.archive.org/web/20201207202519/http://www.securityfocus.com/archive/1/539268/100/0/threaded
- http://www.openwall.com/lists/oss-security/2016/08/19/2
The Doorkeeper gem before 4.2.0 for Ruby might allow remote attackers to conduct replay attacks or revoke arbitrary tokens by leveraging failure to implement the OAuth 2.0 Token Revocation specification.
Moderate severity vulnerability that affects doorkeeper
Withdrawn, accidental duplicate publish.
The Doorkeeper gem before 4.2.0 for Ruby might allow remote attackers to conduct replay attacks or revoke arbitrary tokens by leveraging failure to implement the OAuth 2.0 Token Revocation specification.
Doorkeeper Improper Authentication vulnerability
- https://github.com/doorkeeper-gem/doorkeeper/security/advisories/GHSA-7w2c-w47h-789w
- https://nvd.nist.gov/vuln/detail/CVE-2023-34246
- https://github.com/doorkeeper-gem/doorkeeper/issues/1589
- https://github.com/doorkeeper-gem/doorkeeper/pull/1646
- https://github.com/doorkeeper-gem/doorkeeper/releases/tag/v5.6.6
- https://www.rfc-editor.org/rfc/rfc8252#section-8.6
- https://github.com/advisories/GHSA-7w2c-w47h-789w
- https://github.com/rubysec/ruby-advisory-db/blob/master/gems/doorkeeper/CVE-2023-34246.yml
- https://lists.debian.org/debian-lts-announce/2023/07/msg00016.html
OAuth RFC 8252 says https://www.rfc-editor.org/rfc/rfc8252#section-8.6
the authorization server SHOULD NOT process authorization requests automatically without user consent or interaction, except when the identity of the client can be assured. This includes the case where the user has previously approved an authorization request for a given client id
But Doorkeeper automatically processes authorization requests without user consent for public clients that have been previously approved. Public clients are inherently vulnerable to impersonation, their identity cannot be assured.
Issue https://github.com/doorkeeper-gem/doorkeeper/issues/1589
Fix https://github.com/doorkeeper-gem/doorkeeper/pull/1646
Doorkeeper is vulnerable to stored XSS and code execution
- https://nvd.nist.gov/vuln/detail/CVE-2018-1000088
- https://github.com/advisories/GHSA-hwhh-2fwm-cfgw
- https://github.com/doorkeeper-gem/doorkeeper/issues/969
- https://github.com/doorkeeper-gem/doorkeeper/pull/970
- https://github.com/rubysec/ruby-advisory-db/pull/328/files
- https://github.com/doorkeeper-gem/doorkeeper/releases/tag/v4.3.0
- https://github.com/doorkeeper-gem/doorkeeper/commit/7b1a8373ecd69768c896000c7971dbf48948c1b5
- https://blog.justinbull.ca/cve-2018-1000088-stored-xss-in-doorkeeper/
- https://github.com/rubysec/ruby-advisory-db/blob/master/gems/doorkeeper/CVE-2018-1000088.yml
Doorkeeper version 2.1.0 through 4.2.5 contains a Cross Site Scripting (XSS) vulnerability in web view's OAuth app form, user authorization prompt web view that can result in Stored XSS on the OAuth Client's name will cause users interacting with it will execute payload. This attack appear to be exploitable via The victim must be tricked to click an opaque link to the web view that runs the XSS payload. A malicious version virtually indistinguishable from a normal link. This vulnerability appears to have been fixed in 4.2.6, 4.3.0.
Doorkeeper gem does not revoke tokens & uses wrong auth/auth method
Doorkeeper failed to implement OAuth 2.0 Token Revocation (RFC 7009) in the following ways:
- Public clients making valid, unauthenticated calls to revoke a token would not have their token revoked
- Requests were not properly authenticating the client credentials but were, instead, looking at the access token in a second location
- Because of 2, the requests were also not authorizing confidential clients' ability to revoke a given token. It should only revoke tokens that belong to it.
The security implication is: OAuth 2.0 clients who log out
a user expect
to have the corresponding access & refresh tokens revoked, preventing an
attacker who may have already hijacked the session from continuing to
impersonate the victim. Because of the bug described above, this is not the
case. As far as OWASP is concerned, this counts as broken authentication
design.
MITRE has assigned CVE-2016-6582 due to the security issues raised. An
attacker, thanks to 1, can replay a hijacked session after a victim logs
out/revokes their token. Additionally, thanks to 2 & 3, an attacker via a
compromised confidential client could grief
other clients by revoking
their tokens (albeit this is an exceptionally narrow attack with little
value).
Doorkeeper gem has stored XSS on authorization consent view
Stored XSS on the OAuth Client's name will cause users being prompted for
consent via the implicit
grant type to execute the XSS payload.
The XSS attack could gain access to the user's active session, resulting in account compromise.
Any user is susceptible if they click the authorization link for the malicious OAuth client. Because of how the links work, a user cannot tell if a link is malicious or not without first visiting the page with the XSS payload.
If 3rd parties are allowed to create OAuth clients in the app using Doorkeeper, upgrade to the patched versions immediately.
Additionally there is stored XSS in the nativeredirecturi form element.
DWF has assigned CVE-2018-1000088.
Doorkeeper Improper Authentication vulnerability
OAuth RFC 8252 says https://www.rfc-editor.org/rfc/rfc8252#section-8.6
the authorization server SHOULD NOT process authorization requests automatically without user consent or interaction, except when the identity of the client can be assured. This includes the case where the user has previously approved an authorization request for a given client id
But Doorkeeper automatically processes authorization requests without user consent for public clients that have been previous approved. Public clients are inherently vulnerable to impersonation, their identity cannot be assured.
Issue https://github.com/doorkeeper-gem/doorkeeper/issues/1589
Fix https://github.com/doorkeeper-gem/doorkeeper/pull/1646
121 Other Versions
Version | License | Security | Released | |
---|---|---|---|---|
5.8.0 | MIT | 2024-10-31 - 07:54 | 17 days | |
5.7.1 | MIT | 2024-06-25 - 14:54 | 5 months | |
5.7.0 | MIT | 2024-04-24 - 10:44 | 7 months | |
5.6.9 | MIT | 2024-02-14 - 07:54 | 9 months | |
5.6.8 | MIT | 2023-12-01 - 16:02 | 12 months | |
5.6.7 | MIT | 2023-11-23 - 07:56 | 12 months | |
5.6.6 | MIT | 2023-03-29 - 07:19 | over 1 year | |
5.6.5 | MIT | 2 | 2023-02-22 - 09:00 | over 1 year |
5.6.4 | MIT | 2 | 2023-01-31 - 07:24 | almost 2 years |
5.6.3 | MIT | 2 | 2023-01-30 - 12:01 | almost 2 years |
5.6.2 | MIT | 2 | 2022-11-29 - 08:19 | almost 2 years |
5.6.1 | MIT | 2 | 2022-11-28 - 08:20 | almost 2 years |
5.6.0 | MIT | 2 | 2022-09-08 - 06:32 | about 2 years |
5.6.0.rc2 | MIT | 2 | 2022-05-26 - 07:43 | over 2 years |
5.6.0.rc1 | MIT | 2 | 2022-02-04 - 07:10 | almost 3 years |
5.5.4 | MIT | 2 | 2021-10-05 - 13:57 | about 3 years |
5.5.3 | MIT | 2 | 2021-09-23 - 07:09 | about 3 years |
5.5.2 | MIT | 2 | 2021-06-11 - 07:26 | over 3 years |
5.5.1 | MIT | 2 | 2021-04-06 - 15:52 | over 3 years |
5.5.0 | MIT | 2 | 2021-02-19 - 06:35 | over 3 years |
5.5.0.rc2 | MIT | 2 | 2021-01-21 - 17:31 | almost 4 years |
5.5.0.rc1 | MIT | 2 | 2020-08-04 - 07:18 | over 4 years |
5.4.0 | MIT | 2 | 2020-05-11 - 10:46 | over 4 years |
5.4.0.rc2 | MIT | 2 | 2020-05-02 - 13:27 | over 4 years |
5.4.0.rc1 | MIT | 2 | 2020-04-08 - 07:40 | over 4 years |
5.3.3 | MIT | 2 | 2020-05-07 - 19:17 | over 4 years |
5.3.2 | MIT | 2 | 2020-05-02 - 13:14 | over 4 years |
5.3.1 | MIT | 4 | 2020-02-09 - 09:42 | almost 5 years |
5.3.0 | MIT | 4 | 2020-01-29 - 14:54 | almost 5 years |
5.2.6 | MIT | 2 | 2020-05-07 - 19:20 | over 4 years |
5.2.5 | MIT | 2 | 2020-05-02 - 13:25 | over 4 years |
5.2.4 | MIT | 3 | 2020-02-09 - 09:49 | almost 5 years |
5.2.3 | MIT | 3 | 2019-12-12 - 14:46 | almost 5 years |
5.2.2 | MIT | 3 | 2019-11-10 - 10:17 | about 5 years |
5.2.1 | MIT | 3 | 2019-09-17 - 13:32 | about 5 years |
5.2.0 | MIT | 3 | 2019-09-16 - 08:31 | about 5 years |
5.2.0.rc3 | MIT | 2 | 2019-08-28 - 07:35 | about 5 years |
5.2.0.rc2 | MIT | 2 | 2019-06-17 - 08:27 | over 5 years |
5.2.0.rc1 | MIT | 2 | 2019-05-23 - 15:17 | over 5 years |
5.1.2 | MIT | 2 | 2020-10-19 - 07:54 | about 4 years |
5.1.1 | MIT | 2 | 2020-05-02 - 13:38 | over 4 years |
5.1.0 | MIT | 3 | 2019-04-17 - 14:35 | over 5 years |
5.1.0.rc2 | MIT | 2 | 2019-03-22 - 07:49 | over 5 years |
5.1.0.rc1 | MIT | 2 | 2019-01-17 - 08:41 | almost 6 years |
5.0.3 | MIT | 2 | 2020-05-05 - 08:43 | over 4 years |
5.0.2 | MIT | 3 | 2018-10-25 - 09:25 | about 6 years |
5.0.1 | MIT | 3 | 2018-10-10 - 14:08 | about 6 years |
5.0.0 | MIT | 3 | 2018-08-24 - 13:55 | about 6 years |
5.0.0.rc2 | MIT | 2 | 2018-07-17 - 10:01 | over 6 years |
5.0.0.rc1 | MIT | 2 | 2018-06-11 - 11:42 | over 6 years |
4.4.3 | MIT | 2 | 2018-09-19 - 08:41 | about 6 years |
4.4.2 | MIT | 2 | 2018-08-20 - 15:24 | about 6 years |
4.4.1 | MIT | 2 | 2018-07-27 - 14:58 | over 6 years |
4.4.0 | MIT | 2 | 2018-07-17 - 09:57 | over 6 years |
4.3.2 | MIT | 4 | 2018-03-28 - 09:49 | over 6 years |
4.3.1 | MIT | 4 | 2018-03-03 - 09:44 | over 6 years |
4.3.0 | MIT | 4 | 2018-02-23 - 15:06 | over 6 years |
4.2.6 | MIT | 4 | 2017-05-26 - 00:08 | over 7 years |
4.2.5 | MIT | 6 | 2017-02-12 - 16:09 | almost 8 years |
4.2.0 | MIT | 6 | 2016-08-18 - 21:15 | about 8 years |
4.1.0 | MIT | 7 | 2016-07-29 - 23:09 | over 8 years |
4.0.0 | MIT | 7 | 2016-07-01 - 21:31 | over 8 years |
4.0.0.rc4 | MIT | 7 | 2016-05-17 - 18:14 | over 8 years |
4.0.0.rc3 | MIT | 7 | 2016-04-20 - 22:23 | over 8 years |
4.0.0.rc2 | MIT | 7 | 2016-03-03 - 01:56 | over 8 years |
4.0.0.rc1 | MIT | 7 | 2016-02-26 - 03:36 | over 8 years |
3.1.0 | MIT | 7 | 2015-12-23 - 18:14 | almost 9 years |
3.0.1 | MIT | 7 | 2015-09-24 - 03:49 | about 9 years |
3.0.0 | MIT | 7 | 2015-07-30 - 19:09 | over 9 years |
3.0.0.rc2 | MIT | 7 | 2015-07-09 - 22:32 | over 9 years |
3.0.0.rc1 | MIT | 7 | 2015-05-12 - 03:18 | over 9 years |
2.2.2 | MIT | 7 | 2015-07-30 - 19:15 | over 9 years |
2.2.1 | MIT | 7 | 2015-05-05 - 02:12 | over 9 years |
2.2.0 | MIT | 7 | 2015-04-19 - 12:54 | over 9 years |
2.1.4 | MIT | 7 | 2015-03-27 - 16:14 | over 9 years |
2.1.3 | MIT | 7 | 2015-03-01 - 22:34 | over 9 years |
2.1.2 | MIT | 7 | 2015-02-26 - 02:39 | over 9 years |
2.1.1 | MIT | 8 | 2015-02-06 - 16:12 | almost 10 years |
2.1.0 | MIT | 8 | 2015-01-13 - 20:40 | almost 10 years |
2.0.1 | MIT | 6 | 2014-12-17 - 19:44 | almost 10 years |
2.0.0 | MIT | 6 | 2014-12-16 - 21:03 | almost 10 years |
2.0.0.rc3 | MIT | 7 | 2014-12-14 - 16:59 | almost 10 years |
2.0.0.rc2 | MIT | 7 | 2014-12-09 - 13:18 | almost 10 years |
2.0.0.alpha1 | MIT | 7 | 2014-10-11 - 21:04 | about 10 years |
1.4.2 | MIT | 5 | 2015-03-03 - 04:09 | over 9 years |
1.4.1 | MIT | 5 | 2014-12-17 - 13:13 | almost 10 years |
1.4.0 | MIT | 6 | 2014-07-31 - 15:49 | over 10 years |
1.3.1 | MIT | 8 | 2014-07-06 - 14:50 | over 10 years |
1.3.0 | MIT | 8 | 2014-05-23 - 15:19 | over 10 years |
1.2.0 | MIT | 8 | 2014-05-03 - 13:31 | over 10 years |
1.1.0 | MIT | 6 | 2014-03-29 - 17:43 | over 10 years |
1.0.0 | MIT | 6 | 2014-01-13 - 17:53 | almost 11 years |
1.0.0.rc2 | MIT | 6 | 2014-01-09 - 20:02 | almost 11 years |
1.0.0.rc1 | MIT | 6 | 2013-12-11 - 19:02 | almost 11 years |
0.7.4 | MIT | 6 | 2013-12-01 - 18:57 | almost 11 years |
0.7.3 | MIT | 6 | 2013-10-04 - 22:58 | about 11 years |
0.7.2 | MIT | 6 | 2013-09-11 - 00:43 | about 11 years |
0.7.1 | MIT | 6 | 2013-08-30 - 21:34 | about 11 years |
0.7.0 | UNKNOWN | 6 | 2013-08-22 - 03:04 | about 11 years |
0.6.7 | UNKNOWN | 6 | 2013-01-13 - 18:48 | almost 12 years |