Muchas aplicaciones de macOS e iOS estaban expuestas a una vulnerabilidad en CocoaPods, un administrador de dependencias de código abierto, Seguridad de la información de EVA revelado el 1 de julio. La vulnerabilidad ha sido corregida desde que EVA la descubrió por primera vez y no se han producido ataques que estén relacionados de manera concluyente con ella.
Sin embargo, el caso es interesante porque la vulnerabilidad pasó desapercibida durante mucho tiempo y puso de relieve que los desarrolladores deben tener cuidado con las bibliotecas de código abierto. La vulnerabilidad es un buen recordatorio para que los desarrolladores y los equipos de DevOps comprueben si alguno de los dispositivos de sus organizaciones podría verse afectado.
Según EVA, “miles de aplicaciones y millones de dispositivos” podrían haberse visto afectados en sentido descendente. El equipo de seguridad afirma haber encontrado pods CocoaPods vulnerables en “la documentación o los documentos de términos de servicio de aplicaciones proporcionadas por Meta (Facebook, WhatsApp), Apple (Safari, AppleTV, Xcode) y Microsoft (Teams); así como en TikTok, Snapchat, Amazon, LinkedIn, Netflix, Okta, Yahoo, Zynga y muchos más”.
EVA informó sobre la vulnerabilidad a CocoaPods en octubre de 2023, momento en el que se parcheó.
“El equipo de CocoaPods respondió de manera responsable y rápida a las vulnerabilidades una vez reveladas”, escribió EVA Information Security.
Vulnerabilidades originadas en CocoaPods
CocoaPods es un administrador de dependencias para proyectos Swift y Objective-C, y verifica la legitimidad de los componentes de código abierto. EVA Information Security no estaba buscando vulnerabilidades en CocoaPods en un principio; en cambio, el equipo las descubrió cuando trabajaba en un equipo rojo para un cliente.
VER: CISA recomienda utilizar lenguajes de programación seguros para la memoria para proyectos de código abierto.
EVA informó de varias causas de las vulnerabilidades. En primer lugar, los CocoaPods migraron de GitHub a un servidor «troncal» en 2014, pero los propietarios de los pods tuvieron que recuperar sus espacios manualmente. Algunos de ellos no lo hicieron, lo que dejó 1.866 pods «huérfanos» que permanecieron intactos durante los siguientes 10 años. Cualquiera podría enviar un correo electrónico a CocoaPods para reclamar esos pods, lo que habría permitido a los atacantes inyectar contenido malicioso.
En segundo lugar, los atacantes podrían ejecutar código malicioso en el propio servidor “troncal” aprovechando un flujo de trabajo de verificación de correo electrónico inseguro. Desde allí, podrían manipular o reemplazar paquetes descargados de ese servidor.
En tercer lugar, los atacantes podrían robar tokens de verificación de cuentas falsificando un encabezado HTTP y aprovechando herramientas de seguridad de correo electrónico mal configuradas. A partir de ahí, podrían usar ese token para cambiar paquetes en el servidor CocoaPods, lo que podría dar lugar a ataques de día cero y de la cadena de suministro.
Qué pueden hacer los desarrolladores y los equipos de DevOps para mitigar las vulnerabilidades de CocoaPods
Las vulnerabilidades de CocoaPods son un buen recordatorio para que los desarrolladores y los equipos de DevOps no se olviden de los administradores de dependencias, que podrían ser un posible eslabón débil en la seguridad de la cadena de suministro. Para manejar las vulnerabilidades de CocoaPods, los desarrolladores y los equipos de DevOps deben verificar dos veces las dependencias de código abierto utilizadas en el código de su aplicación.
EVA sugirió:
- Si está utilizando software que depende de paquetes huérfanos de CocoaPods, mantenga su archivo podfile.lock sincronizado con todos los desarrolladores de CocoaPods para asegurarse de que todos tengan la misma versión de los paquetes.
- Revise las listas de dependencias y los administradores de paquetes utilizados en sus aplicaciones.
- Validar sumas de comprobación de bibliotecas de terceros.
- Realice análisis periódicos de bibliotecas externas, especialmente CocoaPods, para detectar código malicioso o cambios sospechosos.
- Mantenga el software actualizado.
- Limite el uso de paquetes CocoaPods huérfanos o sin mantenimiento.
- Tenga cuidado con la posible explotación de dependencias ampliamente utilizadas como CocoaPods.
GIPHY App Key not set. Please check settings