Il arrive souvent que nous signalions des failles ou des bugs qui présentent des risques de sécurité pour les utilisateurs de différents systèmes d'exploitation, mais cela pourrait être l'un des plus graves du monde Apple. Les recherches de la société de sécurité EVA Information Security , un groupe qui collabore aujourd'hui avec des entreprises des secteurs de la finance, de la banque, du commerce électronique, de l'assurance, des jeux en ligne et bien d'autres, ont en effet découvert qu'une vulnérabilité dans le référentiel CocoaPods était exposée depuis dix ans dans environ 3 millions d’applications iOS et macOS à une attaque potentielle. Pour ceux qui ne le savent pas, CocoaPods est un référentiel open source utilisé par de nombreuses applications développées pour les plateformes Apple. Il permet essentiellement aux développeurs d'applications d'intégrer du code tiers dans leurs applications via des bibliothèques open source . Lorsqu'une bibliothèque (appelée pod dans le jargon ) est mise à jour, les applications qui l'utilisent sont automatiquement mises à jour sans aucune interaction de la part du développeur. Un exemple d'applications qui utilisent CocoaPod est Signal, une application de messagerie très populaire qui fait de la confidentialité et de la sécurité son point fort, mais il existe environ 3 millions d'applications pour iOS, macOS, watchOS et tvOS qui les utilisent. Les experts d' EVA Information Security ont découvert trois vulnérabilités dans les CocoaPods, remontant à 10 ans, liées à un mécanisme de vérification des e-mails non sécurisé utilisé pour authentifier les développeurs de pods individuels.
Le mécanisme fonctionne ainsi : pour accéder au pod, un développeur devait saisir l'adresse email associée à son pod, puis le serveur répond en envoyant un lien vers l'adresse. Lorsque le développeur clique sur le lien, il accède au compte. Dans un cas (CVE-2024-38367), un attaquant aurait pu manipuler l'URL du lien pour pointer vers un serveur sous son contrôle. Dans un autre exemple (CVE-2024-38368), des attaquants pourraient prendre le contrôle de pods abandonnés par leurs développeurs, mais qui continuent d'être utilisés par les applications. Les attaquants pouvaient accéder aux pods sans avoir à prouver qu’ils y avaient droit. Dans le troisième cas (CVE-2024-38366), les attaquants pourraient exécuter du code malveillant directement sur le serveur qui envoie le lien de connexion aux développeurs. « La possibilité d'exécuter des commandes shell arbitraires sur le serveur a donné à un éventuel attaquant la possibilité de lire des variables d'environnement, qui pourraient être utilisées pour écrire dans le référentiel CocoaPods/Specs et lire la base de données du serveur », a expliqué Orta Therox, responsable de CocoaPods. « Pouvoir inciter les gens à cliquer sur un lien qui les mènerait vers un site tiers pourrait être utilisé pour voler leurs clés de session. Je ne peux pas garantir que tout cela s'est produit, et je préfère être en sécurité. » a continué. Therox a déclaré que le pire des cas serait un attaquant qui aurait utilisé cette technique pour obtenir des clés de session donnant accès aux comptes de développeurs d'applications et connectant des utilisateurs authentifiés aux pods.
Soyons clairs : les vulnérabilités ont déjà été corrigées. Après que les chercheurs d'EVA ont informé en privé les développeurs de CocoaPods des vulnérabilités, l'équipe de CocoaPods a déjà pris des mesures en octobre 2023 pour garantir que les exploits soient corrigés. Parmi les mesures, toutes les clés de session ont été supprimées pour garantir que personne ne puisse accéder aux comptes sans avoir au préalable le contrôle de l'adresse e-mail enregistrée. De plus, une nouvelle procédure a été ajoutée pour la récupération des anciens pods abandonnés qui nécessite de contacter directement les mainteneurs . Un développeur doit désormais contacter directement CocoaPods pour prendre en charge l'une de ces dépendances. Le risque est cependant grand. EVA Information Security a révélé que l'exploit pourrait conduire les attaquants à accéder aux données sensibles des applications telles que les détails de la carte de crédit, les dossiers médicaux et les documents privés. Les données pourraient être utilisées à diverses fins, notamment les ransomwares, la fraude, le chantage et l’espionnage industriel. Les chercheurs ont écrit qu'il n'existe aucune preuve directe que l'une de ces vulnérabilités ait été exploitée, mais " une preuve d'absence n'est pas une absence de preuve ". En substance, cela ne peut être exclu .
Aucune action n'est requise de la part des développeurs d'applications ou des utilisateurs qui les utilisent. Les chercheurs d'EVA ont cependant conseillé aux développeurs d'applications qui utilisaient des CocoaPods avant octobre de synchroniser le pod pour s'assurer qu'il est à jour et d'examiner les dépendances pour s'assurer qu'ils n'utilisent pas un pod abandonné. Il est également préférable de vous assurer que vous utilisez des dépendances activement entretenues et clairement détenues, ou que vous effectuez des analyses de code périodiques. Méfiez-vous enfin des addictions très populaires, qui sont plus susceptibles d’être ciblées par les attaquants. Nous vous rappelons que CocoaPods a déjà fait l'objet d'une attaque en 2021 qui a permis à des référentiels d'exécuter du code arbitraire sur les serveurs qui le gèrent, permettant aux attaquants de remplacer des packages existants par des versions malveillantes. Il en résulte un code malveillant qui aurait pu se frayer un chemin dans les applications iOS et macOS.
Le mécanisme fonctionne ainsi : pour accéder au pod, un développeur devait saisir l'adresse email associée à son pod, puis le serveur répond en envoyant un lien vers l'adresse. Lorsque le développeur clique sur le lien, il accède au compte. Dans un cas (CVE-2024-38367), un attaquant aurait pu manipuler l'URL du lien pour pointer vers un serveur sous son contrôle. Dans un autre exemple (CVE-2024-38368), des attaquants pourraient prendre le contrôle de pods abandonnés par leurs développeurs, mais qui continuent d'être utilisés par les applications. Les attaquants pouvaient accéder aux pods sans avoir à prouver qu’ils y avaient droit. Dans le troisième cas (CVE-2024-38366), les attaquants pourraient exécuter du code malveillant directement sur le serveur qui envoie le lien de connexion aux développeurs. « La possibilité d'exécuter des commandes shell arbitraires sur le serveur a donné à un éventuel attaquant la possibilité de lire des variables d'environnement, qui pourraient être utilisées pour écrire dans le référentiel CocoaPods/Specs et lire la base de données du serveur », a expliqué Orta Therox, responsable de CocoaPods. « Pouvoir inciter les gens à cliquer sur un lien qui les mènerait vers un site tiers pourrait être utilisé pour voler leurs clés de session. Je ne peux pas garantir que tout cela s'est produit, et je préfère être en sécurité. » a continué. Therox a déclaré que le pire des cas serait un attaquant qui aurait utilisé cette technique pour obtenir des clés de session donnant accès aux comptes de développeurs d'applications et connectant des utilisateurs authentifiés aux pods.
Soyons clairs : les vulnérabilités ont déjà été corrigées. Après que les chercheurs d'EVA ont informé en privé les développeurs de CocoaPods des vulnérabilités, l'équipe de CocoaPods a déjà pris des mesures en octobre 2023 pour garantir que les exploits soient corrigés. Parmi les mesures, toutes les clés de session ont été supprimées pour garantir que personne ne puisse accéder aux comptes sans avoir au préalable le contrôle de l'adresse e-mail enregistrée. De plus, une nouvelle procédure a été ajoutée pour la récupération des anciens pods abandonnés qui nécessite de contacter directement les mainteneurs . Un développeur doit désormais contacter directement CocoaPods pour prendre en charge l'une de ces dépendances. Le risque est cependant grand. EVA Information Security a révélé que l'exploit pourrait conduire les attaquants à accéder aux données sensibles des applications telles que les détails de la carte de crédit, les dossiers médicaux et les documents privés. Les données pourraient être utilisées à diverses fins, notamment les ransomwares, la fraude, le chantage et l’espionnage industriel. Les chercheurs ont écrit qu'il n'existe aucune preuve directe que l'une de ces vulnérabilités ait été exploitée, mais " une preuve d'absence n'est pas une absence de preuve ". En substance, cela ne peut être exclu .
Aucune action n'est requise de la part des développeurs d'applications ou des utilisateurs qui les utilisent. Les chercheurs d'EVA ont cependant conseillé aux développeurs d'applications qui utilisaient des CocoaPods avant octobre de synchroniser le pod pour s'assurer qu'il est à jour et d'examiner les dépendances pour s'assurer qu'ils n'utilisent pas un pod abandonné. Il est également préférable de vous assurer que vous utilisez des dépendances activement entretenues et clairement détenues, ou que vous effectuez des analyses de code périodiques. Méfiez-vous enfin des addictions très populaires, qui sont plus susceptibles d’être ciblées par les attaquants. Nous vous rappelons que CocoaPods a déjà fait l'objet d'une attaque en 2021 qui a permis à des référentiels d'exécuter du code arbitraire sur les serveurs qui le gèrent, permettant aux attaquants de remplacer des packages existants par des versions malveillantes. Il en résulte un code malveillant qui aurait pu se frayer un chemin dans les applications iOS et macOS.
Liens
Lien (116 Clics)
Plus d'actualités dans cette catégorie