L'incendie de la chaîne d'approvisionnement CocoaPods : ce que vous devez savoir
E.V.A Information Security a découvert des vulnérabilités critiques dans CocoaPods, ce qui a conduit à des correctifs immédiats ; les développeurs doivent désormais supprimer les packages non revendiqués, vérifier leurs dépendances et scanner leurs applications pour garantir leur sécurité.
Résumé de la situation
Des chercheurs d'E.V.A Information Security ont récemment découvert d'importantes vulnérabilités dans le gestionnaire de dépendances CocoaPods. Ces failles permettaient à des acteurs malveillants de revendiquer la propriété de pods non revendiqués et d'injecter du code malveillant dans de nombreuses applications iOS et MacOS populaires. Bien que ces vulnérabilités aient été corrigées, l'impact potentiel était grave, car une telle attaque aurait pu compromettre presque tous les appareils Apple.
L'une des vulnérabilités clés est CVE-2024-38368. Cette vulnérabilité permettait à des attaquants de revendiquer des packages CocoaPods non revendiqués et d'y insérer du code malveillant. Le potentiel de dégâts à grande échelle était immense, touchant aussi bien les développeurs individuels que les grandes organisations qui s'appuient sur CocoaPods pour la gestion des dépendances.
Causes racines
La cause racine de ces vulnérabilités réside dans l'absence de mécanismes stricts de propriété et de vérification pour les pods non revendiqués du dépôt CocoaPods. Cette négligence a permis à des attaquants de prendre le contrôle de packages non revendiqués et de les manipuler pour diffuser du code malveillant.
Mesures de remédiation mises en œuvre
En réponse à cette découverte, les mainteneurs de CocoaPods ont mis en œuvre plusieurs mesures de remédiation clés :
- Vulnérabilités corrigées : toutes les vulnérabilités identifiées ont été corrigées afin d'empêcher toute exploitation ultérieure.
- Gouvernance améliorée : des mesures ont été introduites pour améliorer la gouvernance et la supervision du dépôt CocoaPods.
- Vérification de la propriété : des processus de vérification renforcés pour la revendication de packages ont été mis en place afin que seuls les développeurs légitimes puissent revendiquer la propriété de pods.
L'analyse d'Ostorlab
Les scans et analyses d'Ostorlab ont révélé ce qui suit :
- Plus de 290 000 références à CocoaPods ont été identifiées dans divers scans.
- Ces références correspondent à environ 9 500 packages CocoaPods uniques, y compris les dépendances transitives.
- Les packages non revendiqués ont été trouvés dans plusieurs applications de premier plan, comme plusieurs applications
Amazon,Tinderet bien d'autres. - Seuls 67 de ces 9502 packages étaient non revendiqués et utilisés dans l'application (0,07 %), à savoir :
JJPluralForm
ObjectiveGumbo
MosaicUI
GCPlaceholderTextView
iOS-QR-Code-Encoder
JSONKit-NoWarning
GCNetworkReachability
UIImageEffects
MHPrettyDate
NHAlignmentFlowLayout
DBChooser
QR-Code-Encoder-for-Objective-C
GRKInputStreamAggregate
ASCScreenBrightnessDetector
FMMoveTableView
nv-ios-http-status
DYRateView
RegexKitLite
SDNetworkActivityIndicator
MASAttributes
MRCircularProgressView
PPTopMostController
NTMonthYearPicker
UIActionSheet-Blocks
MoPubSDK
NoticeView
HPGrowingTextView
ImageCache
MDSpreadView
Courier
MessagePack
PDKeychainBindingsController
CRGradientNavigationBar
Base64nl
ASIHTTPRequest
JAGPropertyConverter
SHXMLParser
UIAlertView-Blocks
MulticastDelegate
AsyncImageDownloader
DBKit
FPPopover
MagicKit
OAuthCore
XYPieChart
KeychainItemWrapper
MDHTMLLabel
SOCKit
TSCurrencyTextField
CRMotionView
DebugKit
MKMapView-ZoomLevel
ALActionBlocks
StyledPageControl
TouchXML
PinYin4Objc
PopoverView
LogEntries
Promise
WMGaugeView
MGImageUtilities
CSV
MAObjCRuntime
KLSwitch
DejalActivityView
XMLReader
MJPopupViewController
La menace immédiate traitée par les mainteneurs de CocoaPods a permis de maîtriser en partie le risque. Cependant, les développeurs et les organisations doivent prendre des mesures proactives pour atténuer davantage les risques potentiels.
Ce que vous devez faire ensuite
Pour garantir la sécurité de vos applications, suivez ces étapes :
- Scannez votre application : Ostorlab signale les packages dont le propriétaire n'est pas revendiqué. Cela inclut les dépendances transitives.

- Supprimez les packages non revendiqués : pour éviter toute exploitation potentielle, éliminez de votre build tous les packages non revendiqués.
Tags :
Supply chain