3 millions d'apps iOS et macOS exposées pendant 10 ans à des failles chez CocoaPods

Florian Innocente |

Trois millions d'apps iOS et macOS ont été exposées pendant plus de dix ans à des risques de piratage potentiellement sérieux. Rien n'indique que les trois vulnérabilités découvertes par E.V.A Information Security ont été exploitées, mais comme le résument ses chercheurs : « L’absence de preuve n’est pas la preuve de l’absence ». Surtout lorsque le problème a touché un service très populaire dans la communauté des développeurs Apple pendant aussi longtemps.

CocoaPods.

Le fautif est CocoaPods, un service communautaire lancé en 2011 pour aider les développeurs à gérer les dépendances de leurs applications à des librairies externes. Diverses et variées, ils en utilisent, parfois en nombre, dans leurs projets. Des modules tiers, en open source, qui évitent de réinventer la roue lorsqu'on a besoin d'une fonction courante ou d'une plus spécialisée et hors de ses compétences. CocoaPods s'occupe par exemple de mettre à jour automatiquement ces librairies tierces dans un projet lorsque leurs auteurs ont publié de nouvelles versions. CocoaPods revendique plus de 3 millions d'apps qui ont utilisé ses services via leurs développeurs.

Développeurs : CocoaPods 1.0 est disponible

Développeurs : CocoaPods 1.0 est disponible

Ces failles ont fait courir le risque d'un détournement du contenu et du rôle de ces librairies. Porteuses de code piraté, elles auraient pu ouvrir l'accès à des données sensibles dans les apps utilisées par tout un chacun et donner lieu à des tentatives de chantage, de menace ou au vol d'informations, suggère E.V.A Information Security.

Ces vulnérabilités découlaient d'un défaut dans l'identification des développeurs qui mettent à disposition leurs librairies. Pour la première, le lien que recevait le titulaire d'un compte chez CocoaPods pour accéder à son espace (ou "pod") pouvait être manipulé. L'URL ainsi bricolée l'aurait renvoyé à son insu vers un autre serveur étranger à CocoaPods où se seraient trouvées des librairies copiées et altérées.

La seconde faille permettait de prendre le contrôle d'un pod laissé en déshérence par son propriétaire, mais dont les librairies stockées étaient toujours liées à des projets actifs. Il y avait un moyen d'accéder à ce compte pour le réactiver, sans devoir fournir une preuve d'identité. Enfin, la troisième vulnérabilité était au niveau du serveur, dans le mécanisme prévu pour vérifier que les adresses électroniques des développeurs qui distribuent leurs librairies respectent un format standard. Il était possible de passer outre et de forcer le serveur à donner un accès à ses commandes shell. De quoi en profiter ensuite pour berner les développeurs en les dirigeant vers d'autres adresses.

Ces failles ont toutes été corrigées en octobre dernier. Les développeurs de CocoaPods ont confirmé que les scénarios proposés par les chercheurs sur les risques qu'elles faisaient peser étaient réalistes. Sans pouvoir confirmer que personne ne s'est aperçu de ces problèmes et n'en a pas tiré profit.

Tags
avatar marc_os | 

> Surtout lorsque le problème a touché un service très populaire dans la communauté des développeurs Apple pendant aussi longtemps

Pas si populaire que ça.
Chez nous CocoaPods est exclu.

De plus, j'ai lu l'article de macrumors hier, et je n'ai pas trouvé d'où sort le chiffre de trois millions. Bref.

avatar pumk1n | 

@marc_os

Vu que c’est exclu chez vous, c’est pas populaire car vous êtes le peuple. Merci pour le fou rire.

avatar marc_os | 

@ pumk1n

Comme avec tout bon argument malhonnête, vous me faites dire ce que je n'ai pas dit.
Bref.

avatar pumk1n | 

@marc_os

En quoi le service n’est donc pas populaire ? D’où sort cette affirmation de votre part ?

avatar Baptiste_nv18 | 

@marc_os

Je rejoins pumk1n, vous tirez des conclusions à partir de votre utilisation. Cocoapods est très populaire, c’est un fait.

avatar marc_os | 

@ Baptiste_nv18

> c’est un fait

Si vous le dites.

J'ai cherché des statistiques en vain pour confirmer le coup des 3 millions d'apps utilisant du code provenant de CocoaPods.
J'attends avec impatience vos preuves.

avatar hirtrey | 

@marc_os

Il faut lire l’article pour voir d’où vient le chiffre de 3 millions

avatar marc_os | 

@ hirtrey

> Il faut lire l’article pour voir d’où vient le chiffre de 3 millions

J'ai lu l'article d'EVA et ce chiffre sort de leur chapeau.
Ils ne donnent aucune source.

Si vous avez ces sources, merci de les partager.

avatar hirtrey | 

@marc_os

Les sources c’est eux. Après tu fais confiance ou pas.

avatar Dimemas | 

Lol …
tu as raison, presque personne n'utilise cocoapods

juste une grosse partie des appli créées en crossplatoform sur react native et flutter et y en a des tonnes ... 😂

avatar marc_os | 

@ Dimemas

> appli créées en crossplatoform sur react native et flutter

Ah voilà, enfin quelqu'un qui donne une vraie réponse et qui ne se contente pas de dire "t'as tort".
Merci.
Ne codant (actuellement) que pour Mac, et étant contre les trucs "multi-plateforme" à la Electron et pour des apps réellement natives pour chaque OS, c'est sûr que mon point de vue est biaisé.
Donc évidemment, si CocoaPods est utilisé dans le contexte que vous dites, ça explique la chose. Mais côté dev "natif" pour Mac, c'est autre chose.

avatar Scooby-Doo | 

@marc_os,

« Ne codant (actuellement) que pour Mac, et étant contre les trucs "multi-plateforme" à la Electron et pour des apps réellement natives pour chaque OS, c'est sûr que mon point de vue est biaisé. »

👍

Votre avis est biaisé par votre choix tout à fait louable de privilégier le natif versus cross-platform. C'est sûr que l'implémentation est moins bancale.

« Donc évidemment, si CocoaPods est utilisé dans le contexte que vous dites, ça explique la chose. Mais côté dev "natif" pour Mac, c'est autre chose. »

Sauf que ces applications cross-platform sont disponibles aussi sur iOS et macOS il me semble ! Le risque est donc non nul…

😁

avatar Scooby-Doo | 

@marc_os,

J'ai déjà publié un commentaire à ce sujet hier sans que personne ne me réponde et me confirme ou informe l'étendue des problèmes !

Je me cite :

Pendant que l'on parle d'accident industriel, nous avons aussi une catastrophe industrielle !

CVE-2024-38366 avec un score CVSS de 10 !

🏆🏆🏆

3 millions d'applications iOS et macOS impactées.

Au moins 1 milliard d'équipements Apple concernés.

https://www.clubic.com/actualite-531342-des-vulnerabilites-passees-sous-le-radar-pendant-10-ans-menacent-plus-de-3-millions-d-apps-ios-et-macos.html

😭🏆

---

https://www.evasec.io/blog/eva-discovered-supply-chain-vulnerabities-in-cocoapods

https://nvd.nist.gov/vuln/detail/CVE-2024-38366

https://cve.mitre.org/cgi-bin/cvename.cgi?name=2024-38366

https://www.tenable.com/cve/CVE-2024-38366

core.deepecho hal.link mrz.echocve

avatar marc_os | 

« La preuve d'une absence n'est pas une absence de preuve »

Ah les sophismes...
Quand j'en vois, je me méfie.

avatar R-APPLE-R | 

@marc_os

Sophie ? Je l’ai croisé hier dans la rue 😈

avatar Pyr0h | 

@marc_os

Pas assez visiblement, tu n’es même pas capable de copier la phrase correctement…
Pour qui se poserait la question, la phrase originale n’est pas un sophisme.

avatar marc_os | 

@ Pyr0h

> tu* n’es même pas capable de copier la phrase correctement

Pourtant j'ai fait cmd-C, click dans le champs de saisie, cmd-V.
Etonnant, non ?
Non.
Visiblement le fait que l'article ait pu être modifié après ma copie ne vous* est pas venu à l'esprit. Etonnant ?
Non.

(*) on na pas gardé les cochons ensemble.

avatar occam | 

@Pyr0h

> "Pour qui se poserait la question, la phrase originale n’est pas un sophisme."

Lisez l’original d’EVA, relisez l’article de Florian, relisez le commentaire de @marc_OS.
Vous constaterez :
1. que l’énoncé d’EVA est un non-sens ;
2. que Florian, dans sa traduction, l’a corrigé dans le bon sens ;
3. que @marc_OS, dans son commentaire, cite l’original d’EVA en le traduisant, et non pas la variante corrigée rendue par Florian.

Avant d’accuser un lecteur de ne pas copier correctement un phrase, il faudrait d’abord maîtriser soi-même l’art élémentaire de la lecture attentive. La vérification des références ne vous siérait pas mal non plus.

avatar marc_os | 

@ occam

> 3. que @marc_OS, dans son commentaire, cite l’original d’EVA en le traduisant

Sauf que je n'ai rien traduit du tout, je n'ai fait que copier/coller la citation déjà traduite dans le présent article qui a de toute évidence été modifié "en sous-marin" après ma copie.

avatar occam | 

@marc_os

OK. J’ai lu et l’article et votre commentaire en l’état que j’ai cité.

avatar occam | 

@marc_os

> "« La preuve d'une absence n'est pas une absence de preuve »
Ah les sophismes..."

1. Florian a corrigé d’emblée dans sont article le non-sens de l’énoncé d’EVAsec, à savoir verbatim :
«  While there is no direct evidence of any of these vulnerabilities being exploited in the wild, evidence of absence is not absence of evidence. »
Vous avez relevé l’original dans votre traduction, et vous avez parfaitement raison : posé ainsi, il est insensé.
Lapsus, ou erreur de logique caractéristique d’EVA ?

2. Absence of evidence is not evidence of absence.
Énoncé dans le bon ordre, cet aphorisme n’est pas un sophisme, mais une règle heuristique fondamentale : toute recherche basée sur un échantillon ne peut être extrapolée à l’ensemble des possibles.
Elle permettrait tout juste une hypothèse quantifiable, à condition que son modèle de probabilité soit connu.

avatar marc_os | 

@ occam

> 1. Florian a corrigé d’emblée dans sont article le non-sens de l’énoncé d’EVAsec

D'emblée ?
Non.
Sinon je n'aurais pas pu copier la traduction littérale non corrigée.

> Absence of evidence is not evidence of absence.
> Énoncé dans le bon ordre, cet aphorisme n’est pas un sophisme,

Sauf que dire cela ça n'apporte rien dans le contexte, cela n'étaie en aucun cas les propos d'EVA.
Ils sont même limite trompeurs.
Car ils sous-entendent très fortement via cette expression qu'il y aurait bien eu une exploitation de la faille — ce qui ne peut pas être prouvé. Dire cela comme ça c'est suffisant, pas la peine d'évoquer de belles phrases. Or à priori s'ils ont utilisé cette belle phrase qui ne sert à rien, c'est dans un but donné. Le but étant AMHA d'instiller le doute, faire peur aux gens avec un beau titre bien effrayant, et in fine "vendre" leur article.
Le bashing anti-Apple est très efficace, surtout si on a des arguments pour faire peur à l'appui.

avatar occam | 

@marc_os

> "Sauf que dire cela ça n'apporte rien dans le contexte, cela n'étaie en aucun cas les propos d'EVA.
Ils sont même limite trompeurs."

Justement.
C’est pourquoi j’ai cité verbatim la phrase de l’article d’EVA, qui est un non-sens. Non-sens toujours présent sur leur site à l’heure où j’écris.

En revanche, le bon énoncé, « absence of evidence is not evidence of absence », fait partie du B-A-BA de l’analyse quantitative.

Encore une fois : employée comme EVA l’a fait, la phrase ne veut rien dire. S’ils avaient utilisé correctement l’expression, on aurait à la limite pu y lire le sous-entendu que vous y lisez. Qu’il est par ailleurs impossible d’exclure catégoriquement. Mais s’ils se prennent les pieds dans une phrase de huit mots, où ne s’embrouilleront-ils pas.
La règle de Rocard est valable : entre connerie et complot, les deux sont possibles, mais la connerie est de loin la plus probable.

avatar Scooby-Doo | 

@marc_os,

« Car ils sous-entendent très fortement via cette expression qu'il y aurait bien eu une exploitation de la faille — ce qui ne peut pas être prouvé. »

Oui mais on a un CVE de niveau 10 avec une faille disponible pendant 10 ans !

Qu'aucune organisation gouvernementale ou criminelle ne s'en soit pas servie sur cette période me semble difficile à croire.

GoFetch n'est toujours pas corrigé il me semble !

Et on a eu aussi :

https://www.01net.com/actualites/iphone-malware-triangulation-ecouter-conversations-quatre-ans.html

Un moment donné ou l'autre, faudrait peut-être se réveiller chez Apple il me semble…

👌

avatar DP-Britto | 

C’est la faute du DMA.

avatar occam | 

@DP-Britto

🤣🤣🤣 👍

avatar Ingmar97432 | 

@DP-Britto

Non, du stagiaire

avatar DP-Britto | 

@Ingmar97432

J’attends les haters nous dire que l’ajout d’un store alternatif nous apporte des virus en veux-tu en voilà.

avatar Dimemas | 

arf nooooon n'appelle pas les fanatiques stp...

avatar DP-Britto | 

@Dimemas

😂😂😂

avatar Scooby-Doo | 

@DP-Britto,

« J’attends les haters nous dire que l’ajout d’un store alternatif nous apporte des virus en veux-tu en voilà. »

👍

Un store unique ne garantit en rien la protection contre des virus, malware, crapware, ou logiciel potentiellement corrompu par la faute d'un tiers !

3 millions d'applications iOS et macOS ont semble-t-il étaient validées par leur App Store respectif pendant 10 ans sans détecter ce type de problème !

Le problème se situait en amont et c'est là le danger d'une confiance pleine et entière dans un store parce que l'on présuppose qu'il est sérieux, que tout est contrôlé !

Cela me rappelle la plate-forme de développement xCode qui avait été diffusée en Chine en version locale, modifiée par des malandrins avec addition de crapwares automatiquement à la compilation !

Et les applications avaient été publiées.

Il y a eu aussi le cas de cet éditeur qui publiait de faux antivirus sous la forme de scareware. Apple retirait son scareware et fermait son compte. Quelques jours plus tard, le scareware réapparaissait sous un nouveau nom et un “autre” éditeur !

Avoir plusieurs stores peut être au contraire une forme de protection, offrant une alternative en cas de compromission d'un autre store.

Rien est parfait en ce bas monde il me semble…

👌

avatar Scooby-Doo | 

@DP-Britto,

« C’est la faute du DMA. »

😁

Votre reproche est légèrement incomplet il me semble !

C'est la faute au DSA, au DMA, à Ursula, Margrethe, Thierry et Casimir, le gentil monstre au pays des enfants !

👌

Je suis déçu, Occam ne vous l'a pas fait remarquer !

Suis-je sot, c'est lui Casimir ! Il ne va quand même pas s'auto dénoncer…

La loi universelle de la théorie du complot thermodynamique est respectée : c'est toujours l'explication la plus tordue qui risque d'être la mauvaise !

😁

avatar l3chvck | 

Ce qui est ennuyeux c’est que les devs utilisant cocoapods ne savent pas quoi faire ni répondre a leurs clients stressés.
On sait pas si la faille a été exploitée et dans ce cas on sait pas sur quels chaines de pods…
Bravo la communication de cocoapods…

avatar Scooby-Doo | 

@l3chvck,

« Ce qui est ennuyeux c’est que les devs utilisant cocoapods ne savent pas quoi faire ni répondre a leurs clients stressés. »

👍

CONNEXION UTILISATEUR