Noticias Tecnológicas

El error de Travis CI revela secretos de miles de proyectos de código abierto

imágenes falsas

Una falla de seguridad en Travis CI puede revelar los secretos de miles de proyectos de código abierto que dependen del Servicio de Integración Continua alojado. Travis CI es una solución de prueba de software utilizada por más de 900.000 proyectos de código abierto y 600.000 usuarios. Un punto débil en la herramienta hizo posible filtrar variables de entorno seguras: claves de firma, datos de acceso y tokens de API de todos los proyectos públicos de código abierto.

Peor aún, la comunidad de desarrolladores está molesta por el mal manejo del proceso de divulgación de vulnerabilidades y el breve «boletín de seguridad» que Travis se vio obligado a hacer cumplir.

Variables de entorno insertadas en compilaciones de solicitudes de extracción

Travis CI es una popular herramienta de prueba de software debido a su perfecta integración con GitHub y Bitbucket. Como explican los fabricantes de la herramienta:

Cuando realiza una compilación, Travis CI clona su repositorio de GitHub en un entorno virtual completamente nuevo y realiza una serie de tareas para compilar y probar su código. Si una o más de estas tareas fallan, la compilación se considera rota. Si ninguna de las tareas falla, se pasa la compilación y Travis CI puede alojar su código en un servidor web o en un servidor de aplicaciones.

Pero este mes, el investigador Felix Lange encontró una falla de seguridad que hizo que Travis CI usara variables de entorno seguro Todo el mundo repositorios públicos de código abierto que utilizan Travis CI en compilaciones de solicitudes de extracción. Las variables de entorno pueden contener secretos confidenciales como claves de firma, credenciales y tokens de API. Cuando estas variables están expuestas, los atacantes pueden abusar de los secretos para ganar un movimiento lateral en las redes de miles de organizaciones.

Una simple búsqueda en GitHub muestra que Travis se usa ampliamente en una amplia variedad de proyectos:

Resultados de búsqueda de GitHub para
Agrandar / Resultados de búsqueda de GitHub para travis.yml.

El error, registrado como CVE-2021-41077, está presente en el proceso de activación de Travis CI y afecta a ciertas compilaciones realizadas entre el 3 y el 10 de septiembre. Como parte de este proceso de activación, los desarrolladores deben agregar un archivo .travis.yml a su repositorio de proyectos de código abierto. Este archivo le dice a Travis CI qué hacer y puede contener secretos encriptados. Pero estos secretos no deben divulgarse. De hecho, los documentos de Travis CI siempre establecen: «Las variables de entorno cifradas no están disponibles para solicitudes de extracción de bifurcaciones porque el riesgo de seguridad de dicha información está expuesto a un código desconocido».

Idealmente, Travis se ejecutaría en un archivo travis.yml proporcionado por el cliente que reside en un repositorio de Git para evitar el acceso público a cualquier variable de entorno secreta especificada en el archivo YML. En pocas palabras, cuando se bifurca (copia) un proyecto público, el archivo .travis.yml se bifurca junto con estos secretos. Eso no debería suceder. Pero esta vulnerabilidad dio como resultado que este tipo de secretos se revelaran inesperadamente a casi cualquier persona que navegara por un repositorio público e imprimiera archivos durante un proceso de compilación.

Afortunadamente, el problema no duró demasiado, unos ocho días, gracias a Lange y otros investigadores que notificaron a la compañía sobre el error el 7 de septiembre. Pero por precaución, se recomienda a todos los proyectos que dependen de Travis CI que roten sus secretos.

La vulnerabilidad no es exactamente similar, pero recuerda el ataque a la cadena de suministro de Codecov, en el que los actores de amenazas exfiltraron secretos y variables ambientales sensibles de muchos clientes de Codecov de sus entornos de CI / CD, lo que provocó más filtraciones de datos en empresas conocidas.

«Según un informe que se recibió, un repositorio público que se separó de otro podría ser una solicitud de extracción (funcionalidad estándar, como imprimir algunas de las moscas durante el proceso de compilación», dijo Montana Mendy de Travis CI en un boletín de seguridad. «En este escenario, los secretos aún están cifrados en la base de datos de Travis CI».

Mendy dice que el problema solo se aplica a los repositorios públicos y no a los privados, ya que los propietarios de estos últimos tienen control total sobre quién puede bifurcar sus repositorios.

Comunidad enojada por el endeble «boletín de seguridad»

Aparte de la presencia y la solución relativamente rápida del error, el conciso boletín de seguridad de Travis CI y el manejo general del proceso de divulgación coordinado enfureció a la comunidad de desarrolladores.

En un largo hilo de Twitter, el líder del proyecto de criptomonedas Ethereum, Péter Szilágyi, describe el arduo proceso por el que pasó su empresa mientras esperaba que Travis CI tomara medidas y publicara un breve boletín de seguridad en un sitio web desconocido.

«Después de 3 días de impresión a través de varios proyectos, [Travis CI] tácitamente parcheó el problema el día 10. Sin análisis, sin informe de seguridad, sin autopsia, sin advertencia a sus usuarios de que sus secretos pueden haber sido robados «, tuiteó Szilágyi.

Después de que Szilágyi y Lange pidieran a GitHub que prohibiera Travis CI debido a su mala situación de seguridad y la divulgación de vulnerabilidades, surgió una recomendación. «Finalmente, luego de varios ultimátums de varios proyectos, [they] publicó esta publicación lamentable escondida en lo profundo donde nadie la leerá … Ni siquiera un solo ‘gracias’. [No] Reconocimiento de divulgación responsable. Ni siquiera admitir la gravedad del asunto ”, dijo Szilágyi, refiriéndose al boletín de seguridad y, sobre todo, a su versión abreviada, que apenas contenía detalles.

Sí, este es un boletín de seguridad legítimo.
Agrandar / Sí, este es un boletín de seguridad legítimo.

Szilágyi recibió el apoyo de varios miembros de la comunidad para criticar el boletín. El desarrollador web con sede en Boston, Jake Jarvis, describió la divulgación como «un ‘boletín de seguridad’ increíblemente vergonzoso».

Pero Travis CI cree que los secretos rotativos son algo que los desarrolladores deberían hacer de todos modos. «Travis CI implementó una serie de parches de seguridad a partir del 3 de septiembre que abordan este problema», concluyó Mendy en nombre del equipo de Travis CI. «Como recordatorio, todos los usuarios deben revisar sus secretos de forma regular. Si no está seguro de cómo hacerlo, comuníquese con el servicio de asistencia».

Ars ha pedido a Travis CI y Szilágyi más comentarios y estamos esperando sus respuestas.

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba