Direcciones de correo expuestas de GitLab permiten a atacantes insertar código
Las direcciones de correo privadas de GitLab que permiten a los desarrolladores enviar incidencias o tareas a un proyecto están siendo expuestas deliberadamente en archivos README, guías de contribución y páginas de soporte utilizadas para recopilar informes de errores.
Estas direcciones forman parte de una función integrada de GitLab llamada "Email work item to this project" y contienen un token de larga duración vinculado a la cuenta del desarrollador. Se generan automáticamente e incluyen una cadena que actúa como credencial para crear elementos de trabajo por correo electrónico. Cuando un cliente externo envía un mensaje a una de ellas, GitLab lo convierte en una incidencia o tarea del proyecto.
Investigadores de la empresa de seguridad de aplicaciones Aikido encontraron múltiples direcciones privadas de GitLab expuestas en documentación pública y advierten sobre el riesgo asociado. Un atacante podría usarlas para comprometer cuentas de GitLab en ataques que insertan código en ramas protegidas de repositorios privados, robar código fuente, recopilar secretos de variables de CI/CD o acceder a incidencias confidenciales.
Cada una de estas direcciones privadas de GitLab incluye una cadena 'glimt-' que funciona como credencial de acceso al proyecto y persiste en todas las direcciones similares generadas para el mismo proyecto. Según Aikido, basta con cambiar el sufijo '-issue' por '-merge-request' en la dirección para que GitLab abra una solicitud de fusión.
En principio, comprobar que la dirección de envío coincide con el correo del propietario del token añadiría una capa de defensa, pero GitLab no lo hace (aunque ahora lo están considerando). Cualquier buzón de internet puede enviar a esa dirección, y GitLab procesa el mensaje como si fuera del propietario del token.
Además, las pruebas de Aikido mostraron que el ataque también eludiría las restricciones por dirección IP. El nivel de acceso resultante depende de los permisos de la cuenta del usuario y puede permitir cambios de código, ejecuciones de CI/CD, acceso a repositorios privados, secretos, etc. Los investigadores señalan que, aparte de la restricción de permisos, que no se puede eludir, un atacante también necesita la ruta y el ID del proyecto objetivo. En proyectos públicos esta información es de acceso público, mientras que en proyectos privados el ID se puede forzar por fuerza bruta, pero la ruta tendría que filtrarse.
GitLab advierte en su documentación sobre las implicaciones de seguridad de exponer estas direcciones, indicando que son privadas y que se "generan solo para ti". La compañía recomienda mantenerlas en secreto, ya que cualquiera que las conozca puede crear incidencias o solicitudes de fusión en nombre del usuario, y restablecer el token de inmediato si se sospecha que la dirección se ha filtrado.
Direcciones de correo privadas expuestas
En una sola tarde, los investigadores de Aikido encontraron una docena de direcciones de correo entrante de GitLab activas en archivos README públicos, guías de contribución y páginas de soporte. Según los investigadores, estas direcciones se incluyeron deliberadamente en documentación pública para enviar informes de errores a los mantenedores.
En muchos casos, la exposición afectó a proyectos de código abierto populares, creando riesgos para la cadena de suministro de grandes bases de usuarios. "Algunas pertenecían a proyectos de código abierto muy populares", afirman los investigadores.
Aikido informó del problema a GitLab a través de HackerOne en mayo, pero GitLab lo cerró como "comportamiento previsto". La empresa envió una segunda notificación en junio, lo que llevó a GitLab a actualizar su interfaz para mencionar las solicitudes de fusión, eliminar afirmaciones falsas sobre el acceso a datos del token y documentar que el correo entrante elude las restricciones de IP.
Los mantenedores de proyectos deberían dejar de exponer voluntariamente esa información en documentación pública y restablecer los tokens de los proyectos que se expusieron de esta forma en el pasado.
Artículos relacionados
- GitHub y PyPI añaden defensas basadas en tiempo contra ataques a la cadena de suministro
- Los hackers explotan una falla crítica de Roundcube en ataques de inyección de código
- Un dominio de marcador de posición usado en documentación de desarrollo ahora sirve ataques ClickFix
- Un ataque a la cadena de suministro de Brevo inyectó scripts ClickFix en sitios de clientes
- El plugin malicioso Admin Menu Editor Pro pone puertas traseras en 1.500 sitios de WordPress


















Deja una respuesta