Expertos en seguridad descubrieron tres vulnerabilidades críticas que pusieron en riesgo a millones de iPhones y Mac por casi una década. Un fallo en CocoaPods, un proyecto de código abierto para agilizar el desarrollo de aplicaciones, abrió la puerta a ataques a la cadena de suministro de software. El descuido expuso a aplicaciones populares como WhatsApp, TikTok, Netflix e incluso Safari, afectando a cientos de millones de usuarios.
Investigadores del grupo israelí E.V.A. Information Security publicaron un reporte sobre tres vulnerabilidades en CocoaPods, un administrador de dependencias para desarrollo de aplicaciones. De acuerdo con los especialistas, cualquier actor malintencionado pudo hacerse del control de bibliotecas de terceros para insertar código malicioso. Los ataques habrían afectado a casi todos los dispositivos de Apple, tanto de personas como de organizaciones.
El fallo en cuestión se generó en mayo de 2014, cuando CocoaPods llevó a cabo una migración hacia un servicio web que buscaba mejorar la experiencia de uso. Aunque esto facilitó la publicación de "Pods", miles de dependencias quedaron huérfanas en el proceso, ya que los propietarios nunca reclamaron la autoría. Esto abrió la puerta a que cualquier atacante utilizara una API pública y una dirección de correo electrónico genérica para tomar el control.
Aunque el proceso es más complejo de lo que parece, una vez que el atacante tiene acceso al código fuente de la dependencia, las implicaciones serían catastróficas. El hacker podría inyectar código malicioso y actualizar los paquetes en el servidor de CocoaPods, lo que daría como resultado ataques zero-day.
Cuántos usuarios de iPhone y Mac quedaron a merced de estas vulnerabilidades
Según los investigadores, miles o millones de apps para iOS y macOS fueron susceptibles a ataques zero-day y a la cadena de suministro de software. Algunas de las aplicaciones más usadas, como Facebook, WhatsApp, TikTok, Snapchat o Amazon, utilizan dependencias huérfanas de CocoaPods. En el caso de Apple, Safari, Apple TV y Xcode hacen referencia a estos Pods en su documentación o en los términos de servicio.
"En general, encontramos 685 Pods que tenían una dependencia explícita utilizando un Pod huérfano. Sin duda, hay cientos o miles más en bases de código patentadas", mencionó el grupo de seguridad. "Al tomar posesión de una parte de la cadena de suministro de aplicaciones iOS y macOS, un atacante tendría vía libre para acceder a millones de aplicaciones móviles y a los cientos de millones de personas que las utilizan".
Una de las tres vulnerabilidades se aprovecha del proceso de verificación de correo electrónico del servidor de CocoaPods. El fallo permite que el atacante pueda ejecutar código arbitrario para manipular o reemplazar los paquetes de dependencias por código malicioso. "Si un actor malintencionado compromete el servidor, podría volcar los tokens de sesión de todos los propietarios de Pods, envenenar el tráfico del cliente o incluso cerrar el servidor por completo", afirman los expertos.
La buena noticia es que las vulnerabilidades han sido parcheadas por CocoaPods. A la fecha no existe evidencia que alguno de estos fallos haya sido explotado. El grupo de seguridad recomienda que las empresas revisen su lista de dependencias y los administradores de paquetes utilizados en sus aplicaciones.