Bien pratique pour se connecter automatiquement à des services web via un compte Google, Facebook, etc. le protocole OAuth n'est pour autant par exempt de risque de sécurité lorsqu'il est mal implémenté. Après Booking, les chercheurs en sécurité de Salt Labs ont révélé un mauvais usage d'OAuth chez le spécialiste de l'aide à l'écriture dopé à l'IA Grammarly, mais également dans deux sites indonésiens de premier plan, Vidio (streaming vidéo) et Bukalapak (marketplace e-commerce).

Découverte en février dernier, cette mauvaise implémentation d'OAuth a été détectée dans le cas où les utilisateurs de Grammarly se connectent à leurs comptes via Facebook. « Le défaut d'implémentation vient du fait que Grammarly ne vérifie pas le jeton de preuve envoyé par Facebook pour s'assurer que la personne qui se connecte à son service est bien la bonne », nous a expliqué Nicolas Jeanselme, ingénieur en sécurité des API chez Salt Security.

OAuth Facebook

Schéma de vérification d'un utilisateur s'authentifiant à Grammarly via l'implémentation OAuth adossée à Facebook. (crédit : Salt Security)

Vérifier si le token a été transmis correctement

« Potentiellement, des milliers d'entreprises utilisant l'authentification avec Facebook pour l'accès à leurs services peuvent être concernées. Il faut donc qu'elles vérifient que ce protocole est bien implémenté », prévient Nicolas Jeanselme. « Cela présuppose de revoir les étapes prévoyant la transmission du code d'application unique, de vérifier que le secret retourné est bien le bon, et de bien sécuriser les API ». Avant de faire une demande d'API à Facebook pour recevoir l'identité de l'utilisateur qui veut se connecter au service, il est donc plus que jamais conseillé de vérifier si le jeton d'accès transmis est correct et bien légitime.

A ce jour, aucun exploit lié à ce défaut d'implémentation - qui aurait pu l'être depuis plusieurs années - n'a été détecté. Après avoir corrigé sa mauvaise implémentation d'OAuth, Grammarly a remercié l'éditeur de sécurité. « Lorsque nous avons reçu l'avis de Salt Security, nous avons réagi rapidement pour corriger la vulnérabilité et lancer une enquête qui a confirmé qu'aucun compte d'utilisateur de Grammarly n'avait été compromis par ce problème [...] Dans le cadre de notre engagement de transparence et de résolution des problèmes avant qu'ils ne puissent être exploités, nous encourageons et invitons les chercheurs en sécurité externes à participer à notre programme de bug bounty de longue date ».