Un étudiant de Compsci repart avec 50 000 $ après qu'un rapport de bug bounty ait fait un trou béant dans les dépôts de logiciels Shopify • The Register


Shopify a versé 50 000 $ (36 150 £) en paiement d'une prime de bogue à l'étudiant en informatique Augusto Zanellato à la suite de la découverte d'un jeton d'accès accessible au public qui donnait à world+dog un accès en lecture et en écriture aux référentiels de code source de l'entreprise.

Zanellato a découvert la vulnérabilité en enquêtant sur une application macOS tierce basée sur Electron et créée par un développeur Shopify. "Je ne peux pas partager le nom", a déclaré Zanellato Le registre, "mais je peux dire qu'il s'agit d'un client de bureau pour une plate-forme de visioconférence populaire qui n'en fournit pas de version officielle."

Le problème : l'inclusion d'un fichier d'environnement dans l'application compilée, qui, une fois extrait, a révélé le jeton d'accès du développeur pour son compte GitHub – un compte qui avait accès non seulement au propre référentiel de l'application, mais également aux référentiels de Shopify.

« Après avoir trouvé le jeton GitHub dans l'application, j'ai essayé de l'utiliser contre l'API GitHub pour voir de quel jeton il s'agissait, à qui il appartient, quels privilèges il avait, etc. », nous a dit Zanellato. "J'ai découvert que l'utilisateur en question était membre de l'organisation Shopify et qu'il avait un accès push et pull à tous les référentiels Shopify privés."

Le jeton a donné à Zanellato, et par extension à toute autre personne ayant enquêté sur le fonctionnement interne de l'application accessible au public, un accès complet aux référentiels GitHub de Shopify. Grâce à lui, Zanellato a pu confirmer la possibilité de pousser le code source modifié – qui, s'il n'était pas détecté à temps, serait inclus dans les versions logicielles de Shopify, offrant ainsi un moyen d'introduire une porte dérobée dans les sites utilisant le logiciel.

Heureusement, le géant canadien du commerce électronique a pris le problème aussi au sérieux qu'il le devrait. À la suite d'une divulgation privée, désormais rendue publique, via la plate-forme de primes de bogues HackerOne, la société a révoqué le jeton d'accès dans les 24 heures et a attribué à la vulnérabilité un score de gravité CVSS de 10, le plus élevé possible.

"Nous avons résolu ce problème immédiatement après avoir reçu ce rapport en révoquant le jeton d'accès personnel GitHub", a écrit Jack McCracken, ingénieur principal en sécurité des applications chez Shopify, dans un suivi du rapport. "Cependant, nous voulions attendre pour résoudre ce problème jusqu'à ce que nous sentions que nous avions mis en œuvre une atténuation à long terme qui réduisait la probabilité qu'il se reproduise."

Dans son propre résumé, Shopify note qu'un audit des journaux d'accès a confirmé qu'"aucune activité non autorisée" liée au jeton d'accès n'avait eu lieu. La société n'a cependant pas détaillé exactement les mesures qu'elle a prises pour éviter des problèmes de sécurité similaires à l'avenir.

"Ce n'était pas vraiment la faute de Shopify ici", nous a dit Zanellato, "car pour ce que je sais, GitHub ne prend pas (au moins encore) en charge la génération d'un jeton d'accès qui donne accès aux référentiels personnels mais pas à ceux appartenant à l'organisation. Il y a quelque chose de similaire car les applications GitHub ne peuvent avoir accès qu'aux référentiels d'utilisateurs sans accorder l'accès à l'organisation, mais pas de choses similaires pour les jetons. "

Un dongle d'authentification à deux facteurs n'aurait pas aidé non plus, a expliqué Zanellato : « Je suis fortement en faveur de l'utilisation de jetons physiques pour 2FA, mais dans ce cas, cela n'aurait eu aucune valeur car les jetons d'accès sont destinés à être utilisés par des ordinateurs et non par des humains. tels qu'ils ignorent si 2FA est activé ou non dans le compte propriétaire."

Une vulnérabilité grave mérite un gros gain, et Shopify a surpris Zanellato avec sa générosité à cet égard : la société a payé un impressionnant 50 000 $ (36 150 £) pour sa divulgation responsable, faite il y a six mois – le maximum qu'elle offre dans son programme de primes de bogues, ce qui représente en moyenne 500 à 750 $ (362 à 542 £) par prime. Depuis son lancement, la société a versé 1,6 million de dollars (1,16 million de livres sterling) via le programme à travers 1 221 rapports résolus.

La prime de pare-chocs était la première de Zanellato. "Cela pourrait vous surprendre, mais en fait, je n'ai jamais commencé à chasser les insectes", a-t-il déclaré. "J'ai une formation technique en tant que programmeur (principalement le développement de jeux et le backend, mais j'ai aussi une certaine expérience du frontend) avec un accent sur l'écriture de choses sécurisées au lieu de choses qui fonctionnent mais avec des failles de sécurité aussi grandes que la mine de Kimberley."

Shopify a été fondée en 2006 par Tobias Lütke et Scott Lake à la suite de l'échec du couple à trouver une plate-forme de commerce électronique prête à l'emploi appropriée pour un magasin de snowboard prévu, Snowdevil. Aujourd'hui, la plate-forme Shopify est utilisée par plus de 1,7 million de marchands dans le monde – qui auraient tous pu être touchés par le jeton divulgué s'il avait été abusé.

Cependant, ce n'est peut-être pas la seule entreprise touchée. "Je n'ai pas trouvé beaucoup de rapports sur les applications Electron, donc je ne suis pas sûr de la fréquence de cette vulnérabilité spécifique", nous a dit Zanellato, "mais je pense qu'il pourrait s'agir d'une surface d'attaque qui n'est pas bien explorée.

"Je ne pense pas que les entreprises puissent faire grand-chose pour se protéger contre ce genre de vulnérabilité, à part obliger les employés à avoir un compte professionnel séparé du compte personnel, mais ce serait un problème à mon avis. La meilleure solution serait que GitHub ajoute un moyen de limiter la portée des jetons d'accès à un sous-ensemble des référentiels ou des organisations d'un utilisateur."

Shopify n'a pas répondu à une demande de commentaire supplémentaire, en particulier sur les raisons pour lesquelles les développeurs ont été autorisés à utiliser les mêmes comptes GitHub pour des projets personnels que pour déverrouiller les référentiels de l'entreprise et les mesures qu'elle a prises pour éviter de futurs problèmes du même genre, à temps pour publication.

GitHub, acquis par Microsoft en 2018 pour 7,5 milliards de dollars, n'a pas non plus répondu aux questions concernant les commentaires de Zanellato sur la manière dont il pourrait potentiellement résoudre le problème à l'avenir. ®



Source link

Un site commerce électronique donne l’opportunité de se lancer à moindres frais parmi rapport aux entreprises classiques. De plus, vous avez la possibilité vous lancer autrement rapidement. La gestion d’un emplacement e-commerce ne demande pas de présence physique à un endroit précis, sauf peut-être quant à stockage et la préparation des commandes que vous avez la possibilité tout à fait externaliser, ou bien mieux dans l’hypothèse ou vous ne possédez pas de réservoir (on en parlera plus tard dans l’article).