El incendio en la cadena de suministro de CocoaPods: lo que debe saber
E.V.A Information Security descubrió vulnerabilidades críticas en CocoaPods, lo que dio lugar a parches inmediatos; ahora los desarrolladores deben eliminar los paquetes sin reclamar, verificar las dependencias y escanear sus aplicaciones para garantizar su seguridad.
Resumen de la situación
Los investigadores de E.V.A Information Security descubrieron recientemente vulnerabilidades significativas en el gestor de dependencias CocoaPods. Estos fallos permitían a actores maliciosos reclamar la propiedad de pods sin reclamar e inyectar código malicioso en numerosas aplicaciones populares de iOS y MacOS. Aunque estas vulnerabilidades ya se han corregido con parches, el impacto potencial era grave, ya que un ataque de este tipo podría haber comprometido a casi todos los dispositivos de Apple.
Una de las vulnerabilidades clave es CVE-2024-38368. Esta vulnerabilidad permitía a los atacantes reclamar paquetes de CocoaPods sin reclamar e insertar código malicioso. El potencial de daño generalizado era inmenso y afectaba tanto a desarrolladores individuales como a grandes organizaciones que dependen de CocoaPods para la gestión de dependencias.
Causas raíz
La causa raíz de estas vulnerabilidades reside en la falta de mecanismos estrictos de propiedad y verificación para los pods sin reclamar en el repositorio de CocoaPods. Este descuido permitía a los atacantes asumir el control de paquetes sin reclamar y manipularlos para propagar código malicioso.
Acciones de corrección adoptadas
En respuesta al descubrimiento, los mantenedores de CocoaPods han puesto en marcha varias acciones de corrección clave:
- Vulnerabilidades corregidas con parches: todas las vulnerabilidades identificadas se han corregido con parches para evitar una mayor explotación.
- Mejor gobernanza: se han introducido medidas para mejorar la gobernanza y la supervisión del repositorio de CocoaPods.
- Verificación de la propiedad: se han establecido procesos de verificación reforzados para reclamar paquetes, con el fin de garantizar que solo los desarrolladores legítimos puedan reclamar la propiedad de los pods.
Análisis de Ostorlab
Los escaneos y análisis de Ostorlab han revelado lo siguiente:
- Se han identificado más de 290,000 referencias a CocoaPods en diversos escaneos.
- Estas referencias corresponden a aproximadamente 9,500 paquetes de CocoaPods únicos, incluidas las dependencias transitivas.
- Se han encontrado paquetes sin reclamar en varias aplicaciones de alto perfil, como varias aplicaciones de
Amazon,Tindery muchas otras. - Solo 67 de 9502 de estos paquetes estaban sin reclamar y se utilizaban en la aplicación (0.07%), a saber:
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 amenaza inmediata abordada por los mantenedores de CocoaPods ha controlado en parte el riesgo. Sin embargo, los desarrolladores y las organizaciones deben adoptar medidas proactivas para mitigar aún más los posibles riesgos.
Qué debe hacer a continuación
Para garantizar la seguridad de sus aplicaciones, siga estos pasos:
- Escanee su aplicación: Ostorlab informa de los paquetes con propietarios sin reclamar. Esto incluye las dependencias transitivas.

- Elimine los paquetes sin reclamar: para evitar una posible explotación, elimine de su compilación cualquier paquete sin reclamar.
Etiquetas:
Supply chain