Una planta nueva sobre cimientos viejos: el agujero crítico en el AI Gateway de GitLab

Una planta nueva sobre cimientos viejos: el agujero crítico en el AI Gateway de GitLab

Artículo original en inglés: GitLab warns of critical RCE vulnerability in AI Gateway service, de Sergiu Gatlan en BleepingComputer.

La planta que se construyó en una noche

Imaginemos un edificio de oficinas sólido, con décadas de uso, inspecciones al día y un portero que conoce a todo el mundo. Un buen día los dueños deciden añadir una planta más en la azotea, con cristaleras y una terraza preciosa. La levantan en pocos meses, porque el mercado lo pide y los inquilinos la quieren. Nadie revisa si los pilares aguantan el peso. Nadie se pregunta si la nueva escalera comunica con zonas que antes estaban cerradas.

Eso es, con bastante precisión, lo que la industria del software ha hecho con la IA en los dos últimos años. Y el aviso de GitLab del 2 de octubre es uno de los primeros crujidos serios de la estructura. La compañía ha publicado parches para una vulnerabilidad crítica en su AI Gateway, el servicio que da acceso a las funciones de GitLab Duo, su asistente de programación. Identificada como CVE-2026-90970 y puntuada con un 9,9 sobre 10 en la escala CVSS, permite a un usuario autenticado ejecutar comandos arbitrarios en el servidor.

Anatomía del fallo: una plantilla que se escapa de su jaula

El mecanismo es casi poético. El AI Gateway construye los prompts que envía a los modelos a partir de plantillas, y la Duo Agent Platform permite a los usuarios definir “flujos” personalizados con su propia configuración. El sistema ejecuta esas plantillas dentro de un entorno aislado, una especie de jaula para que el texto no haga nada más que ser texto. Pero un flujo con una configuración maliciosa puede romper esa jaula: la plantilla deja de ser un simple molde y se convierte en código que corre en la máquina.

Técnicamente es una inyección de plantilla (CWE-1336, “neutralización incorrecta de elementos especiales en un motor de plantillas”). Un clásico del desarrollo web, viejo como Jinja o Twig, que ahora reaparece en el corazón de la capa de inteligencia artificial. La ironía es evidente: hemos construido la planta nueva con los mismos materiales defectuosos que ya conocíamos de las de abajo.

Las versiones afectadas van de la 18.1.6 hasta antes de la 19.2.4, la 19.3 antes de la 19.3.2 y la 19.4 antes de la 19.4.1. Las corregidas son, por tanto, 19.2.4, 19.3.2 y 19.4.1. GitLab.com y las instancias gestionadas por la propia compañía ya estaban protegidas en el momento del anuncio; el problema afecta a quienes operan su propio AI Gateway con GitLab Duo Self-Hosted. En la misma tanda de parches se corrige también una travesía de directorios, la CVE-2026-85706.

Por qué “autenticado” no significa “tranquilo”

La letra pequeña dice que el atacante necesita estar autenticado y tener acceso a la Duo Agent Platform. Hay quien respira al leerlo. No debería. En un equipo de desarrollo medio, “usuario autenticado” incluye a becarios, contratistas externos, agencias con acceso temporal y cuentas de servicio que nadie recuerda quién creó. Y la propia descripción del fallo precisa que bastan privilegios bajos.

Además, el AI Gateway no es un rincón cualquiera del edificio. Es la sala de máquinas que ve el código de todos los proyectos, los tokens y, en muchos despliegues, la conexión con los modelos externos o internos. Ejecutar comandos ahí equivale a tener llaves de casi todas las puertas. Para una empresa que eligió la opción autogestionada precisamente por privacidad, es decir, para que su código no saliera de casa, el escenario es el peor imaginable: la pieza que debía proteger los datos es la que los expone.

Cada asistente de IA que conectamos a nuestras herramientas es una puerta nueva, y las puertas nuevas rara vez vienen con cerradura de serie.

La nueva fachada tiene goteras

Lo que convierte este caso en algo más que una nota de seguridad es el patrón que ilustra. La IA se ha incorporado a nuestras herramientas de trabajo como una capa adicional: encima del repositorio, del CMS, del gestor de tareas, del correo. Esa capa recibe entradas en lenguaje natural, las transforma, las enriquece con datos del sistema y las devuelve con permisos para actuar. Es un intermediario con acceso privilegiado y una superficie de entrada que, por definición, es texto libre.

Durante 2025 y 2026 hemos visto inyecciones de prompt en asistentes de navegación, filtraciones a través de conectores de agentes y ahora una ejecución remota en el gateway de uno de los mayores proveedores de DevOps del mundo. No son incidentes aislados: son el mismo aviso repetido. Cada “copiloto” añade dependencias, cada plugin de IA abre un canal entre el mundo exterior y el interior, y la velocidad con la que se despliegan rara vez deja tiempo para una auditoría seria.

Qué debe hacer un equipo web el lunes por la mañana

Lo primero es obvio: si tu organización opera un AI Gateway propio, actualizar hoy a 19.2.4, 19.3.2 o 19.4.1. GitLab contactó previamente con los clientes afectados, pero conviene no fiarse de haber recibido el correo. Lo segundo es inventariar. Muchos equipos web no saben con exactitud qué funciones de IA están activas en su stack ni quién tiene acceso a ellas; haz la lista, revisa permisos y elimina cuentas que no se usan.

Lo tercero es tratar la capa de IA como lo que es: un componente de producción con sus propias reglas de parcheo, registro y segmentación de red. Si el gateway puede ejecutar comandos, debe vivir en un entorno aislado del resto de la infraestructura, con el mínimo privilegio posible. Y lo cuarto es cultural: incluir estas piezas en el modelado de amenazas, igual que haríamos con una pasarela de pago o un formulario de login.

La factura de lo invisible

El edificio seguirá creciendo hacia arriba; nadie va a desmontar la planta de IA. La pregunta es si vamos a seguir construyendo sin revisar los cimientos. GitLab ha hecho lo correcto: avisar, parchear y explicar. Pero cada equipo tiene que asumir su parte. La comodidad de tener un asistente que entiende el código viene con una factura de seguridad que, hasta ahora, muchos han pagado con la tarjeta de la confianza. Esta vulnerabilidad es el primer recibo. Mejor pagarlo ahora que esperar a que llegue con intereses.

Share:

Leave a comment