Skip to content
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

fix CVE-2015-9284 security alert #975

Merged
merged 3 commits into from
Nov 26, 2020
Merged

fix CVE-2015-9284 security alert #975

merged 3 commits into from
Nov 26, 2020

Conversation

@yaf yaf changed the title fix security alert fix CVE-2015-9284 security alert Nov 23, 2020
@yaf yaf marked this pull request as ready for review November 23, 2020 17:13
Copy link
Contributor

@adipasquale adipasquale left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

tu arrives a acceder a la super admin en local ? je n'y arrive pas moi je tombe sur une page disant "auth pass thru"

aussi, sur https://github.com/omniauth/omniauth/wiki/Resolving-CVE-2015-9284 je lis :

A key part of resolving this vulnerability is refusing GET requests to /auth/:provider endpoints.

Or les routes n'ont pas changé entre ta PR et master :

➜  rdv-solidarites.fr git:(CVE-2015-9284) rails routes | grep auth | grep provider
                                               GET      /api/v1/auth/:provider/callback(.:format)                                                devise_token_auth/omniauth_callbacks#omniauth_success
                                               GET|POST /omniauth/:provider/callback(.:format)                                                   devise_token_auth/omniauth_callbacks#redirect_callbacks
                                               GET      /api/v1/auth/:provider(.:format)                                                         redirect(301)

il y a un GET sur /api/v1/auth/:provider qui redirige.
par ex `` a l'air de rediriger vers omniauth/github?namespace_name=api_v1&resource_class=AgentWithTokenAuth et cette page fait une 404

Je dois dire que je suis hyper perplexe sur cette faille ! je ne comprends pas comment on pouvait y être vulnérable avant si on avait déjà pas de GET requests.

merci beaucoup d'avoir pris le temps d'investiguer et d'ajouter une spec qui a l'air de s'assurer qu'on a corrigé le pb. si tu es confiant, et que ça ne casse pas l'accès à la super admin ça me va

@yaf
Copy link
Author

yaf commented Nov 23, 2020

Merci d'avoir poussé le test, j'avais oublié de me déconnecté du super admin. En le faisant, je n'ai pas pu me reconnecter.
Le truc c'est sans doute de passer par une page spécial pour pouvoir faire un post ensuite vers Github si j'ai bien saisi... Je la repasse en draft

@yaf yaf marked this pull request as draft November 23, 2020 19:56
@yaf
Copy link
Author

yaf commented Nov 24, 2020

J'ai l'impression qu'il faudrait qu'on passe par une page, un formulaire, pour faire une requête post vers github.

J'essaie

@yaf
Copy link
Author

yaf commented Nov 24, 2020

Ça semble mieux fonctionner.

Je n'ai pas été très inspiré :

  • la route : /connexion_super_admin
  • dans le welcome_controller
  • et dans la vue, un simple lien en post.

Ensuite, est-ce qu'on fait confiance à ce fix ? Je ne sais pas. Pour être sur, il faudrait prendre le temps de reproduire l'attaque, vérifier que nous étions vulnérable avant l'ajout de cette gem et du lien en post, puis, vérifier une fois la PR déployé...

@yaf yaf marked this pull request as ready for review November 24, 2020 17:23
Copy link
Contributor

@adipasquale adipasquale left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍 on va dire que la nouvelle page /connexion_super_admins rajoute un peu de securité par obfuscation :)

@yaf yaf merged commit e919007 into master Nov 26, 2020
@yaf yaf deleted the CVE-2015-9284 branch November 26, 2020 19:57
n-b added a commit that referenced this pull request Oct 4, 2021
fixes #1764

I suppose this was broken since #975
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants