Apple verse 100 000 dollars à un développeur pour avoir trouvé un bogue important dans le système de « connexion avec Apple »

Posted on

Apple a versé une prime de 100 000 dollars au développeur Bhavuk Jain pour avoir trouvé un bogue grave dans son système de connexion « Sign in with Apple » qui aurait pu permettre à des acteurs malveillants de s’emparer du compte d’un utilisateur sur des sites web et des applications spécifiques.

Selon Bhavuk Jain, le bogue était lié à la façon dont Apple validait les utilisateurs qui utilisaient « Sign in with Apple ». Le service de connexion, qui a été lancé par la société l’année dernière et peut être utilisé avec les identifiants Apple, est conçu pour limiter la quantité de suivi permis par d’autres services de connexion, tels que Facebook et Google. L’un des principaux arguments de vente de Sign in with Apple est la possibilité de cacher votre adresse électronique à l’application ou au service tiers.

Afin d’autoriser un utilisateur, la connexion avec Apple utilise un JWT (JSON Web Token) ou un code généré par les serveurs d’Apple. Lors de l’autorisation, Apple donne aux utilisateurs la possibilité de partager ou de cacher leur identifiant Apple avec l’application tierce. Si les utilisateurs choisissent de ne pas partager leur courrier électronique avec une application spécifique, Apple génère un identifiant de courrier électronique Apple spécifique à l’utilisateur pour ce service.

Après une autorisation réussie, selon le choix de l’utilisateur, Apple produit un JWT qui contient l’ID e-mail. Cette ID est ensuite utilisée par l’application tierce pour connecter un utilisateur.

C’est là qu’intervient le bUG. Jain a déclaré qu’en avril, il a découvert qu’il pouvait demander aux JWT n’importe quel identifiant de messagerie électronique d’Apple.

« Lorsque la signature de ces jetons a été vérifiée à l’aide de la clé publique d’Apple, ils se sont révélés valables. Cela signifie qu’un attaquant pourrait falsifier un JWT en y liant n’importe quel identifiant d’email et en accédant au compte de la victime », a expliqué le développeur dans un blog.

Selon le Hacker News, Jain a découvert que cela était dû au fait que bien qu’Apple demande aux utilisateurs de se connecter à leur compte Apple avant de lancer la demande d’autorisation, elle ne validait pas si la même personne demandait un JWT à l’étape suivante depuis son serveur d’authentification.

La vulnérabilité affectait les applications tierces qui l’utilisaient et ne mettait pas en œuvre leurs propres mesures de sécurité supplémentaires.

Le Hacker News rapporte que des acteurs malveillants pourraient exploiter cette vulnérabilité même si les utilisateurs choisissaient de cacher leur identifiant Apple aux services tiers et qu’il pourrait également être utilisé pour ouvrir un nouveau compte avec l’identifiant Apple de la victime.