Los desarrolladores de aplicaciones para el sistema operativo Apple que utilicen el administrador de dependencias CocoaPods diseñado específicamente para proyectos Xcode deben tener cuidado. Los piratas informáticos pueden aprovechar una vulnerabilidad de seguridad para realizar ataques a la cadena de suministro. Los investigadores de seguridad de la información de EVA advirtieron el lunesPor lo tanto, los desarrolladores que han utilizado CocoaPods en los últimos años deberían verificar la integridad de las dependencias de código abierto en su código como respuesta a este riesgo de seguridad. Instalado por defecto en OSX, CocoaPods es un gestor de dependencias para proyectos Xcode (Swift, Objective-C, iOS, OSX, WatchOS, TvOS...) que contiene más de 100.000 bibliotecas y se utiliza en más de 3 millones de aplicaciones. Por lo tanto, los desarrolladores de software que utilicen esta herramienta deberían verificar la integridad y autenticidad de los componentes que utilizan asegurándose de que las sumas de comprobación y las firmas digitales de los paquetes estén todas presentes y sean correctas.

El principal riesgo es que los cibercriminales puedan reclamar la propiedad de miles de pods de código no reclamados. Estos módulos podrían luego usarse para inyectar código malicioso como parte de un ataque a la cadena de suministro. Estos pods no reclamados son el resultado de un proceso de migración que tuvo lugar hace diez años y dejó miles de paquetes huérfanos en el sistema. Aunque huérfanos, muchos de estos paquetes de software todavía eran utilizados por otras aplicaciones, descubrió EVA. "Al usar una API pública y una dirección de correo electrónico disponible en el código fuente de CocoaPods, un atacante podría reclamar la propiedad de cualquiera de estos paquetes, lo que luego le permitiría reemplazar el código fuente original con su propio código malicioso", advirtió EVA Information Security. De esta manera, una API de acceso público permitía a cualquiera reclamar pods huérfanos sin realizar ningún proceso de verificación de propiedad. De hecho, una simple solicitud curl a la API pública junto con el nombre del pod no reclamado en cuestión era suficiente.

Índice
  1. Los vectores de ataque del SCM son cada vez más sofisticados
  2. Se recomienda limitar el uso de paquetes huérfanos o sin mantenimiento

Los vectores de ataque del SCM son cada vez más sofisticados

“Un atacante podría manipular el código fuente o insertar contenido malicioso en el pod recién reclamado”, advirtió EVA. “Ese pod podría entonces infectar muchas dependencias posteriores”. EVA informó que aparecieron menciones de pods huérfanos en la documentación de aplicaciones proporcionadas por Meta (Facebook, Whatsapp), Apple (Safari, AppleTV, Xcode) y Microsoft (Teams), así como TikTok, Snapchat, Amazon, LinkedIn, Netflix, Okta, Yahoo, Zynga y muchos otros. Los investigadores de seguridad encontraron 685 pods que tenían una dependencia explícita que usaba un pod huérfano, probablemente una fracción del número real una vez que se tienen en cuenta las bases de código propietario en la ecuación. Reef Spektor, vicepresidente de investigación de EVA Information Security, dijo a CSO: “Las vulnerabilidades que descubrimos en CocoaPods han existido durante aproximadamente una década. No podemos saber con certeza si fueron explotadas, pero sí sabemos que si actores maliciosos llevaran a cabo ataques a la cadena de suministro, el impacto sería significativo y afectaría tanto a los consumidores del ecosistema de Apple como a las empresas que desarrollan aplicaciones”.

Otra vulnerabilidad identificada como CVE-2024-38368 también permite a un atacante infiltrarse en un servidor 'Trunk' de CocoaPods. Según la consultora de seguridad israelí, los ataques fueron posibles porque "un flujo de verificación de correo electrónico no seguro podría explotarse para ejecutar código arbitrario en el servidor 'Trunk' de CocoaPods", lo que permitiría a un atacante manipular o reemplazar paquetes descargados. "Al falsificar un encabezado HTTP y aprovechar las herramientas de seguridad de correo electrónico mal configuradas, los atacantes podrían ejecutar un ataque de clic cero que les daría acceso al token de verificación de la cuenta de un desarrollador", advirtió EVA. Esto permitiría al atacante modificar paquetes en el servidor CocoaPods y desencadenar ataques tanto de cadena de suministro como de día cero. EVA dijo que los ataques SCM son un riesgo constante para cualquiera que dependa de software de terceros. "Los vectores de ataque a la cadena de suministro se están volviendo cada vez más sofisticados a medida que avanza la tecnología", dijo la compañía.

Se recomienda limitar el uso de paquetes huérfanos o sin mantenimiento

EVA informó a CocoaPods de los problemas, que ya se han solucionado, lo que llevó a la empresa de consultoría de seguridad a hacer públicos sus hallazgos. Los desarrolladores de CocoaPods no respondieron de inmediato a la solicitud de comentarios de CSO. Se recomienda a los desarrolladores que revisen las listas de dependencias y los administradores de paquetes utilizados en sus aplicaciones, y que validen las sumas de comprobación de las bibliotecas de terceros en respuesta a las vulnerabilidades. Las pautas generales de mejores prácticas incluyen análisis periódicos en busca de código malicioso o modificaciones sospechosas. Limitar el uso de paquetes huérfanos o sin mantenimiento también es una buena idea.