Prácticamente todos los dispositivos Apple del mundo estuvieron expuestos a una serie de vulnerabilidades críticas a través del administrador de dependencias CocoaPods, según ha revelado una nueva investigación. CocoaPods es un popular administrador de dependencias de código abierto para Swift y Objective-C utilizado por los desarrolladores de Apple para gestionar bibliotecas externas, con alrededor de 100.000 bibliotecas utilizadas en más de tres millones de aplicaciones móviles. EVA Information Security reveló que encontró varias vulnerabilidades en CocoaPods que podrían permitir a un atacante reclamar la propiedad de potencialmente miles de pods no reclamados y ejecutar código arbitrario en el servidor troncal del servicio. Según la investigación, las vulnerabilidades surgieron en 2014 y no se solucionaron hasta octubre de 2023, permaneciendo inactivas durante nueve años a la espera de ser explotadas. La primera de estas vulnerabilidades surgió después de que una migración en 2014 a un nuevo servidor troncal dejara miles de paquetes huérfanos, lo que significa que se desconoce el propietario original, aunque muchos de ellos todavía se utilizan en otras bibliotecas. Esto significaba que los atacantes podían usar una API pública para reclamar la propiedad de CocoaPods.Pods sin necesidad de verificación alguna, con casi 2000 pods que aún no han sido reclamados por sus propietarios y que esperan ser reclamados por actores de amenazas. Estos pods podrían ser inyectados con código malicioso y utilizados en ataques a la cadena de suministro que podrían comprometer potencialmente millones de dispositivos iOS y MacOS en todo el mundo, advirtió el equipo de EVA. Reciba nuestras últimas noticias, actualizaciones de la industria, recursos destacados y más. Regístrate hoy para recibir nuestro informe GRATUITO sobre ciberdelitos y seguridad con IA, actualizado recientemente para 2024. Esta falla, CVE-2024-38368, designada como 9.3 en el CVSS, también permitió a los atacantes eliminar a todos los propietarios de cualquier pod, dejándolos disponibles para que también los reclamen partes maliciosas. La segunda vulnerabilidad que EVA señaló, CVE-2024-38367, es una falla de secuestro de sesión que aprovecha una laguna en el proceso de autenticación de CocoaPods que permite a los atacantes manipular el proceso de verificación que lleva a una toma de control total de la cuenta troncal de CocoaPods. La investigación de EVA afirmó que CocoaPods autentica los dispositivos nuevos por correo electrónico, lo que requiere que el usuario simplemente verifique su dirección de correo electrónico haciendo clic en un enlace, pero esta funcionalidad podría ser secuestrada fácilmente, advirtió el informe. «Descubrimos que el servidor aceptará un encabezado XFH falsificado y lo usará explícitamente para construir una URL enviada al cliente para verificar la sesión». Los investigadores de EVA señalaron que con unos pocos pasos adicionales, los atacantes podrían convertir esto en un ataque de robo de cuenta sin necesidad de hacer clic. Los atacantes pueden confiar en el hecho de que la mayoría de los servidores de correo electrónico cuentan con herramientas de detección de phishing automatizadas que escanean enlaces potencialmente peligrosos. Pero al escanear el enlace de validación falsificado de CocoaPods, las herramientas transmiten inadvertidamente el token de sesión al atacante, que puede usar para validar su sesión y tomar el control de la cuenta y sus paquetes. Una falla crítica podría haber significado un desastre para los dispositivos de Apple Los cambios en el código fuente del tronco de CocoaPods para crear un nuevo flujo de trabajo de verificación de correo electrónico también crearon una nueva ruta de ataque, informó EVA, abriendo la puerta a la tercera y más grave vulnerabilidad. Calificada con 10 en el CVSS, CVE-2024-38366 es una falla de ejecución de código remoto (RCE) que permitiría a un atacante ejecutar código arbitrario en el servidor troncal. Un cambio comprometido en el código fuente del tronco que implementa la validación de registros MX para correos electrónicos registrados, utilizando un paquete de gemas ruby ​​​​de terceros rfc-822, que desafortunadamente tiene varios métodos de validación vulnerables. Como resultado, EVA explicó que un atacante podría explotar cualquiera de estos métodos de validación para ejecutar comandos en el servidor troncal. Aunque el informe señaló que no hay evidencia «directa» de que alguno de estos errores se explote activamente en la naturaleza, recordó a los lectores que «la evidencia de ausencia no es ausencia de evidencia», enumerando una serie de pasos de mitigación que las organizaciones pueden seguir para garantizar que sus aplicaciones no se vean comprometidas. Los desarrolladores que han lanzado aplicaciones para dispositivos Apple deben mantener su archivo podfile.lock sincronizado con todos los desarrolladores de CocoaPods, asegurándose de que si se confirma una actualización dañina, los desarrolladores no lo actualicen automáticamente. Los desarrolladores que utilizan un pod desarrollado internamente y solo alojado en CocoaPods para distribución masiva deben realizar una validación de CRC contra el descargado del servidor troncal de CocoaPods para garantizar que sea el mismo que el desarrollado internamente. Finalmente, EVA recomienda tener cuidado con las dependencias muy utilizadas, ya que podrían ser los primeros objetivos que los atacantes intenten explotar para lograr el máximo rendimiento con su ataque.