Una dirección de correo electrónico de una incidencia de GitLab que se ha filtrado permite a cualquiera enviar código y ejecutar tareas de integración continua (CI) en tu nombre
La dirección de correo electrónico privada que GitLab proporciona a los usuarios para el envío de incidencias funciona como una credencial de acceso. Según descubrió Aikido Security, estas direcciones en los diferentes proyectos de un mismo usuario comparten un token idéntico que no expira y que se aplica a cualquier proyecto que la cuenta pueda abrir, ya sea público o privado. Además, GitLab no verifica la identidad del remitente del correo, por lo que actúa como si los mensajes provinieran directamente del titular de la cuenta.
El uso de esta dirección va más allá de la simple creación de informes de errores. Modificando el sufijo de la dirección y enviando un parche adjunto junto con el nombre de la rama de destino en el asunto, es posible lograr que GitLab aplique el parche y cree commits en nombre del usuario, llegando incluso a la rama principal si se tienen los permisos necesarios. Asimismo, si se modifica el archivo de configuración correspondiente y el rol del usuario lo permite, se pueden ejecutar trabajos de integración continua utilizando los permisos de la víctima, sin que este proceso se vea afectado por restricciones de direcciones IP ni por la autenticación de dos factores.
Para mitigar este riesgo, los usuarios pueden restablecer su token de correo electrónico desde la página de tokens de acceso personal en su perfil, lo cual actualiza todas las direcciones de los proyectos de manera simultánea, o revisar archivos públicos y guías en busca de direcciones filtradas. Los administradores de instancias autogestionadas también tienen la opción de desactivar la recepción de correos para toda la instancia, ya que los usuarios individuales no cuentan con un interruptor para desactivar esta funcionalidad. Tras los reportes de Aikido Security, GitLab modificó los textos descriptivos sobre el token y abrió una incidencia para evaluar la posibilidad de aceptar únicamente correos de direcciones verificadas.