La empresa de seguridad Novee ha revelado que Cordyceps es una clase de vulnerabilidades de CI/CD explotables en repositorios de código abierto que permitieron a los atacantes robardent, insertar código malicioso y comprometer las operaciones de algunas de las organizaciones de software más grandes del mundo.
Estas vulnerabilidades se han encontrado en repositorios pertenecientes a Microsoft, Google, Apache, Cloudflare y la Python Software Foundation, empresas que afirman haberlas solucionado.
La empresa de seguridad Novee ha descubierto una nueva y peligrosa clase de vulnerabilidades en las canalizaciones de CI/CD a la que denomina "Cordyceps". El nombre "Cordyceps" proviene de un hongo parásito que se apodera de su huésped, ya que esta falla permite que cualquier persona con una cuenta gratuita de GitHub tome el control de proyectos populares de código abierto.
Las vulnerabilidades se descubrieron en repositorios pertenecientes a Microsoft, Google, Apache, Cloudflare y la Python Software Foundation. Un único análisis de 30 000 repositorios reveló 300 cadenas de ataque totalmente explotables.
Los atacantes pueden robardent, inyectar código malicioso y comprometer las cadenas de suministro de software a través de estas vulnerabilidades. Si bien los problemas se han solucionado, los investigadores advierten que los asistentes de codificación de IA seguirán reproduciéndolos en millones de repositorios.
Los flujos de trabajo de GitHub Actions gestionan tareas importantes como la ejecución de pruebas, la compilación de software y la publicación de versiones, pero a menudo se tratan como simples archivos de configuración en lugar de como código crítico para la seguridad.
La cadena de ataque suele comenzar cuando un usuario externo, que puede ser cualquiera con una cuenta gratuita de GitHub, envía una solicitud de extracción o deja un comentario en un repositorio público. A continuación, se activa un flujo de trabajo con privilegios limitados que acepta la información del usuario externo como si fuera información confiable.
A partir de ahí, la salida fluye hacia un segundo flujo de trabajo que se ejecuta con permisos elevados. Este segundo flujo de trabajo puede contener tokens de autenticación del proveedor de la nube,dentdel registro de paquetes o claves de firma. En este punto, el atacante puede robar tokens que no caducan o comprometer permanentemente el repositorio.
Según los investigadores de seguridad, cada paso individual de estas cadenas puede superar una auditoría de seguridad por sí solo. La vulnerabilidad solo aparece cuando alguien tracla ruta de los datos no confiables a lo largo de toda la secuencia de transferencias del flujo de trabajo.
Novee descubrió y reportó vulnerabilidades confirmadas en algunas de las organizaciones tecnológicas más grandes del mundo.
Por ejemplo, Azure Sentinel de Microsoft contenía un comentario en una solicitud de extracción que podía activar la ejecución de código malicioso en la infraestructura de integración continua de Microsoft y robar una clave de aplicación de GitHub sin fecha de caducidad. Esta clave habría otorgado acceso de escritura permanente al contenido de detección de seguridad que Microsoft distribuye a los espacios de trabajo de Sentinel de sus clientes.
El repositorio del Kit de Desarrollo de Agentes de IA de Google, con más de 9200 estrellas en GitHub, tenía una vulnerabilidad que permitía a un atacante obtener el nivel de permisos más alto (roles/propietario) en el proyecto de Google Cloud asociado mediante una única solicitud de extracción.
En la base de datos Doris Analytics de Apache, los investigadores encontraron dos rutas de ataque sin clics. Una permitía que un comentario en cualquier solicitud de extracción robaradentde CI codificadas, mientras que la otra permitía que una solicitud de extracción bifurcada robara un token con permisos de escritura completos en el código, los paquetes y las páginas.
El SDK Workers de Cloudflare, basado en el conjunto de herramientas de línea de comandos Wrangler, era vulnerable a la ejecución arbitraria de comandos activada por un nombre de rama especialmente diseñado.
El formateador de código Black de la Python Software Foundation, que cuenta con más de 130 millones de descargas, tenía un fallo que permitía a cualquier solicitud de extracción robar el token del bot de automatización del proyecto, lo que a su vez permitía aprobar solicitudes de extracción adicionales.
Novee confirmó a Dark Reading que ninguno de estos patrones de flujo de trabajo fue explotado antes de que se aplicaran los parches.
Meged recomienda que los CISO traten los archivos de flujo de trabajo de CI/CD como código crítico para la seguridad.
Si estás leyendo esto, ya llevas ventaja. Mantente al día con nuestro boletín informativo.