-
Notifications
You must be signed in to change notification settings - Fork 41
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Security] Bump doorkeeper from 4.2.6 to 4.4.0 #2847
Conversation
Bumps [doorkeeper](https://github.com/doorkeeper-gem/doorkeeper) from 4.2.6 to 4.4.0. **This update includes security fixes.** - [Release notes](https://github.com/doorkeeper-gem/doorkeeper/releases) - [Changelog](https://github.com/doorkeeper-gem/doorkeeper/blob/master/NEWS.md) - [Commits](doorkeeper-gem/doorkeeper@v4.2.6...v4.4.0) Signed-off-by: dependabot[bot] <support@dependabot.com>
ca975f4
to
f953770
Compare
WARNING: This is a security release that addresses token revocation not working for public apps (CVE-2018-1000211) There is no breaking change in this release, however to take advantage of the security fix you must: 1. Run `rails generate doorkeeper:add_client_confidentiality` for the migration 2. Review your OAuth apps and determine which ones exclusively use public grant flows (eg implicit) 3. Update their `confidential` column to `false` for those public apps This is a backported security release. For more information: * doorkeeper-gem/doorkeeper#1119 * doorkeeper-gem/doorkeeper#891
some of our apps (first_party password / session grants and implicit) will require the non-default value of confidential = false
ensure the spec testing devise session to token via password grant (#101) uses a non-confidential application
set confidential to false for implicit, native apps as well as any first party apps that use the password grant without supplying the client secret (PFE / python client).
.where("redirect_uri !~* ?", 'auth/.+/callback') # not the omniauth server apps | ||
.update_all(non_confidential_opts) | ||
|
||
#2. set the first party apps that aren't already set (PFE / python client) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Layout/LeadingCommentSpace: Missing space after #.
avoid changing other apps that may be using client_id & client_secrets to authenticate, only update the first party apps we know about.
A newer version of doorkeeper exists, but since this PR has been edited by someone other than Dependabot I haven't updated it. You'll get a PR for the updated version as normal once this PR is merged. |
I would love a summary of what changes and what's causing the incompatibility specifically. For instance, how would I tell if Caesar is going to be affected? |
Doorkeeper wasn't previously revoking tokens for non-confidential apps (see the Vulnerabilities fixed link in the PR description). The latest gem updates fixed this issue so public apps can now revoke tokens. All implicit / native apps have to be set to non-confidential as that is how they work. Our
If your app us using an implicit grant / custom scheme (native) to get a token then it'll need it's non-confidential attribute set via the migration / UI to work properly. If you can keep a secret via your server and authentication using a |
Thanks, this "confidentiality" was a new concept but not explained. I get it now. |
DO NOT MERGE YET - merging / migrating this PR will break authentication for some API clients (gavity spy user promotion)TODO
This may impact authentication for a variety of applications in the wild, any strange auth errors should look to the confidential setting implications first.
Bumps doorkeeper from 4.2.6 to 4.4.0. This update includes security fixes.
Vulnerabilities fixed
Sourced from The Ruby Advisory Database.
Release notes
Sourced from doorkeeper's releases.
Changelog
Sourced from doorkeeper's changelog.
Commits
16e76e6
Merge pull request #1120 from f3ndot/backport-cve-2018-100021135cd855
Disable confidential button if not supported, fix test coveraged3fb696
Fix embarassing typo. Freeze heredoc constantbd7bd3f
Add news entry on this update4ecb0a2
[Lint] long lines, heredocs, other stylistic things3aebb59
Bump version to 4.4.08e846f9
Warn developers when security migration not rund6b56a9
Move warning into a constant for other uses36dc99b
Add non-breaking backwards compatibility for 4.x and CVE-2018-1000211337d4c2
Use Application#confidential? to determine revocation auth eligibilityDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebase
will rebase this PR@dependabot merge
will merge this PR after your CI passes on it@dependabot ignore this [patch|minor|major] version
will close this PR and stop Dependabot creating any more for this minor/major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependency
will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)@dependabot use these labels
will set the current labels as the default for future PRs for this repo and language@dependabot use these reviewers
will set the current reviewers as the default for future PRs for this repo and language@dependabot use these assignees
will set the current assignees as the default for future PRs for this repo and language@dependabot badge me
will comment on this PR with code to add a "Dependabot enabled" badge to your readmeAdditionally, you can set the following in your Dependabot dashboard:
Finally, you can contact us by mentioning @dependabot.