GitLab lanzó parches de emergencia para corregir una vulnerabilidad crítica denominada CVE-2025-2867. Las versiones afectadas incluyen 17.10.1, 17.9.3 y 17.8.6.
Vulnerabilidad descubierta por Legit Security
La vulnerabilidad se denomina inyección de prompt indirecto y afectaba a GitLab Duo. Fue demostrada públicamente por el investigador Legit Security, quien mostró cómo un atacante podía inyectar instrucciones ocultas dentro de merge requests, issues o código.
Forma de inyección de prompt indirecto
Las instrucciones maliciosas podían incluir comentarios blancos, texto codificado en Base16 o manipulado con Unicode smuggling. Cuando Duo procesaba ese contexto, obedecía las órdenes introducidas.
Riesgos de la vulnerabilidad
- Podía exfiltrar fragmentos de código privado a un servidor controlado por el atacante.
- Podía inyectar HTML o JavaScript en las respuestas, redirigiendo al desarrollador a sitios de phishing o paquetes maliciosos.
- Podía robar propiedad intelectual.
- Podía filtrar zero-days internos.
- Podía engañar a otros desarrolladores para que importaran dependencias maliciosas.
Ediciones afectadas
Todas las ediciones CE/EE desde la rama 17.8 hasta la 17.10.0 inclusive estaban expuestas a un ataque de indirect prompt injection. Un atacante podía introducir un 'comentario trampa' mediante un fork o una sugerencia de cambio.
Acciones tomadas por GitLab
GitLab publicó las versiones corregidas el 26 de marzo de 2025. GitLab.com ya ejecuta el código seguro.
Mitigaciones recomendadas
- Actualizar inmediatamente a una versión parcheada.
- Deshabilitar GitLab Duo (GITLAB_DUO_DISABLED=true) y limitar su uso a repositorios públicos si la actualización se retrasa.
- Revisar registros de Duo y tráfico saliente en busca de respuestas que incluyan URLs o código fuera del dominio corporativo.
- Implementar filtros que bloqueen texto oculto o codificado en comentarios y descripciones.