Sat. Aug 31st, 2024

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 EVA revelado el 1 de julio. La vulnerabilidad ha sido parcheada 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 destacó cómo 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 verifiquen si alguno de los dispositivos de sus organizaciones podría verse afectado.

“Miles de aplicaciones y millones de dispositivos” podrían haberse visto afectados posteriormente, dijo EVA. El equipo de seguridad dice que encontraron pods CocoaPods vulnerables en “la documentación o los términos de servicio de las 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ó la vulnerabilidad a CocoaPods en octubre de 2023, momento en el que se parchó.

“El equipo de CocoaPods respondió de manera responsable y rápida a las vulnerabilidades una vez reveladas”, escribió EVA Information Security.

Las vulnerabilidades se originaron 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 buscaba originalmente vulnerabilidades en CocoaPods; en cambio, el equipo los descubrió cuando formó parte del 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ó varias causas de las vulnerabilidades. Primero, CocoaPods migró de GitHub a un servidor “troncal” en 2014, pero los propietarios de los pods tuvieron que reclamar manualmente sus lugares. Algunos de ellos no lo hicieron, dejando 1.866 cápsulas “huérfanas” que permanecieron intactas 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 potencialmente podría conducir a ataques de día cero y a la cadena de suministro.

Un investigador de seguridad de la información de EVA utilizó un token de validación de sesión falsificado para hacerse cargo de una cuenta de CocoaPods. Imagen: Seguridad de la información EVA

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 los desarrolladores y los equipos de DevOps de no olvidarse 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 las dependencias de código abierto utilizadas en el código de su aplicación.

Eva sugirió:

  • Si está utilizando software que se basa en paquetes CocoaPods huérfanos, 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ódigos maliciosos 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.

Related Post

Leave a Reply

Your email address will not be published. Required fields are marked *