doorkeeper 2.2.2

3 security vulnerabilities found in version 2.2.2

Doorkeeper gem has stored XSS on authorization consent view

high severity CVE-2018-1000088
high severity CVE-2018-1000088
Patched versions: >= 4.2.6
Unaffected versions: < 2.1.0

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 native_redirect_uri form element.

DWF has assigned CVE-2018-1000088.

Doorkeeper gem does not revoke tokens & uses wrong auth/auth method

high severity CVE-2016-6582
high severity CVE-2016-6582
Patched versions: >= 4.2.0
Unaffected versions: < 1.2.0

Doorkeeper failed to implement OAuth 2.0 Token Revocation (RFC 7009) in the following ways:

  1. Public clients making valid, unauthenticated calls to revoke a token would not have their token revoked
  2. Requests were not properly authenticating the client credentials but were, instead, looking at the access token in a second location
  3. 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 Improper Authentication vulnerability

medium severity CVE-2023-34246
medium severity CVE-2023-34246
Patched versions: >= 5.6.6

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

No officially reported memory leakage issues detected.


This gem version does not have any officially reported memory leaked issues.

No license issues detected.


This gem version has a license in the gemspec.

This gem version is available.


This gem version has not been yanked and is still available for usage.