Una ilustración abstracta generada sobre un fondo de tono gris azulado pálido: un largo carril horizontal de canalización con finos contornos de pizarra oscura atraviesa el centro, con un único nodo de agente redondeado situado sobre él. Desde el borde izquierdo, un flujo sin marcar de pequeños fragmentos irregulares entra en ese nodo a través de una abertura en su contorno, en lugar de hacerlo por la entrada etiquetada situada encima. Aguas abajo, un grupo mucho más grande de bloques rectangulares apilados se encuentra detrás de una línea límite discontinua. Una luz cian traza la ruta legítima por encima del nodo; una luz ámbar traza los fragmentos que entran por la abertura. Detrás hay una cuadrícula tenue de plano. No aparecen textos, números, personas, marcas ni logotipos de organizaciones. El logotipo de OrcaRouter está compuesto en la esquina inferior derecha.
AI Safety Incidents

El agente Claude de Duo de GitLab podía ejecutar comandos arbitrarios en CI. Nadie ha demostrado que se haya utilizado.

Autor

Elias Hawthorne

Fecha de publicación

Últimos modelos · 20Ver todos los modelos →
Benchmarks: Artificial Analysis · actualizado a diario
Volver a todas las publicaciones

GitLab publicó versiones corregidas el 26 de agosto de 2026 para una vulnerabilidad de alta gravedad en el agente de IA Duo Claude, el agente basado en Claude que el aviso de GitLab sitúa en un contexto de CI. Registrada como CVE-2026-18252, la falla permitía que un usuario autenticado con el rol Developer hiciera que se ejecutaran comandos arbitrarios dentro de un trabajo de CI, porque el agente procesaba configuración procedente de una fuente controlada por el usuario sin validar de dónde provenía. GitLab la calificó con 7.3 en la escala CVSS 3.1 y limitó el rango afectado a GitLab Enterprise Edition: versiones 18.9 hasta, pero sin incluir, 19.1.7; 19.2 hasta 19.2.5; y 19.3 hasta 19.3.1. GitLab.com ya ejecutaba el código parcheado, y a los clientes de GitLab Dedicated se les indicó que no tomaran ninguna medida. Ninguna fuente revisada para este artículo informa que alguien la haya explotado, y no se ha publicado ninguna prueba de concepto en fuentes abiertas. La entrada propia del archivo para este incidente, con sus calificaciones de gravedad y confianza, está en el Orca AI Incident Archive, junto con los registros vecinos de la misma semana.

Lo que dice el aviso, y lo que omite

El documento principal es breve. Las notas de la versión de parche de GitLab para 19.3.1, 19.2.5 y 19.1.7, publicadas el mismo día, enumeran siete correcciones de seguridad. La primera, marcada como Alta, se titula "El problema de inclusión de funcionalidad desde una esfera de control no confiable en el agente Duo Claude AI afecta a GitLab EE", y su descripción en prosa se reduce a una sola frase. GitLab afirma que "ha remediado un problema por el cual, en determinadas condiciones, un usuario autenticado con permisos de rol de desarrollador podría haber ejecutado comandos arbitrarios en un contexto de CI, debido a que el agente Claude procesa configuración de una fuente controlada por el usuario". Esa es toda la descripción técnica que publicó el proveedor.

El registro CVE, que GitLab asignó por sí mismo, añade estructura, no sustancia. Clasifica la debilidad como CWE-829, repite los rangos afectados y la puntuación CVSS 7.3, y registra que el identificador se reservó el 29 de julio de 2026 y se publicó el 26 de agosto a las 13:36 UTC. El informe de bug bounty que GitLab reconoce, el informe 3863650 de HackerOne, devolvió un 403 a una consulta no autenticada el 29 de octubre de 2026, por lo que sus detalles técnicos no son públicos, y el elemento del tracker que el registro CVE enlaza como referencia —el elemento de trabajo 607342 de gitlab-org/gitlab— no contenía contenido legible sobre la incidencia en esa comprobación.

Lo que el aviso no dice es justamente la parte que un defensor querría conocer. No nombra la funcionalidad de Duo implicada, ni el campo de configuración que lee el agente, ni la forma que adopta la fuente controlada por el usuario — ya sea un archivo del repositorio, una variable de pipeline, un comentario en una incidencia o en una solicitud de fusión, o un parámetro de API. Nada de eso se indica en las notas de GitLab, en el registro del CVE ni en la cobertura de prensa especializada revisada para este artículo. La documentación de producto de GitLab sí describe una vía de Claude hacia CI: los agentes externos, que, según la documentación, ejecutan un pipeline de CI/CD cuando se los menciona en una incidencia, una épica o una solicitud de fusión, y para los cuales existe un ejemplo de configuración de Claude Code. Nada de lo revisado vincula esa vía con CVE-2026-18252. Es contexto para explicar por qué un agente de Claude tiene privilegios de CI, no el mecanismo del fallo.

La misma documentación es sincera sobre la clase de riesgo. La página de agentes externos de GitLab enumera las vulnerabilidades de inyección de prompts entre los riesgos que los clientes aceptan al activar la función, y describe el escaneo de prompts de terceros que implementa como una mitigación. Esa página no menciona CVE-2026-18252, y la advertencia no es una descripción de esta. Sí muestra que la entrada no confiable que llega a un agente con acceso a pipelines es un riesgo que la propia documentación de GitLab ya pide a los clientes aceptar.

A self-built HTML card titled 'The disclosure, in GitLab's terms', badged 'CVE-2026-18252 · published 26 August 2026'. Nine labelled rows read: weakness class, CWE-829 inclusion of functionality from an untrusted control sphere; CVSS per GitLab, 7.3 High on the vector network, low complexity, low privileges, user interaction required, high confidentiality and integrity impact, no availability impact; CVSS per NIST, 8.1 on the same vector with user interaction marked not required; affected, GitLab EE from 18.9 before 19.1.7, 19.2 before 19.2.5, and 19.3 before 19.3.1; fixed, the same dates in versions 19.1.7, 19.2.5 and 19.3.1; reporter, thwin_htet through GitLab's HackerOne programme, report 3863650; hosted instances, GitLab.com already patched, GitLab Dedicated no action required; workaround, none published; exploitation, none reported in any source reviewed. A footer reads 'Sources: GitLab patch release notes for 19.3.1, 19.2.5 and 19.1.7; the CVE-2026-18252 record as stored in NVD; OpenCVE; CERT Sante, 27 August 2026.' The OrcaRouter logo is composited in the bottom-right corner.

El contexto de CI es donde están las credenciales.

La frase que transmite la gravedad es «en un contexto de CI». Un trabajo de pipeline no es un sandbox de juguete; se ejecuta con un token de runner y con todos los secretos que el proyecto haya expuesto ante él. Cyber Security News, al informar sobre el parche el 27 de agosto de 2026, enumera aquello a lo que normalmente tienen acceso este tipo de trabajos —código fuente, artefactos de compilación, credenciales de despliegue, tokens de nube y credenciales de repositorios de paquetes— y señala que la ejecución de comandos en un pipeline podría exponer variables de CI, alterar artefactos de compilación, manipular flujos de trabajo de publicación o llegar más lejos dentro de la infraestructura conectada, según la configuración del runner y el alcance de su token. El artículo de GBHackers publicado ese mismo día utiliza el mismo enfoque. Ninguno de los medios informa de un caso en el que eso haya ocurrido.

Esa distinción determina cómo debe interpretarse el fallo. Es un error de ejecución de comandos en un componente agéntico, no una demostración de que un modelo se comporte mal: el registro describe configuración tomada de una fuente controlada por el usuario y el agente actuando sobre ella. Ninguna fuente revisada describe el exploit como una inyección de prompts exitosa, y el aviso de GitLab nunca atribuye el resultado a un juicio del modelo. La debilidad registrada es código que confía en una fuente de configuración en la que no debería — CWE-829, inclusión de funcionalidad desde una esfera de control no confiable.

Dos puntuaciones CVSS y un paso de interacción.

El 7.3 de GitLab no es la única puntuación asociada al identificador. En el mismo registro del NVD, la evaluación principal de NIST es 8.1. Los dos vectores son idénticos excepto en un componente: GitLab marca la interacción del usuario como requerida, y NIST no. Ambas puntuaciones se sitúan en la banda Alta, por lo que la diferencia práctica tiene menos que ver con la gravedad que con las condiciones en las que se desencadena el fallo. CERT Santé, el equipo de respuesta a emergencias informáticas del Ministerio de Sanidad francés, publicó una alerta el 27 de agosto de 2026 que sigue la lectura de GitLab: 7.3, interacción del usuario requerida, y un desencadenante descrito como una interacción que pone en marcha el procesamiento de la configuración.

Las señales de explotación están silenciosas, y todas ellas son una lectura del registro, no telemetría. La evaluación SSVC que el rol de coordinador de CISA almacenó en la entrada del NVD el 26 de agosto de 2026 registra la explotación como «ninguna», automatizable como «no» y el impacto técnico como «total». El modelo EPSS de FIRST situó la probabilidad de explotación en 0,00519, poco más de medio por ciento, el 28 de octubre de 2026, en el percentil 44 de las vulnerabilidades puntuadas. El registro de OpenCVE contiene la misma cifra de EPSS e indica que la CVE está ausente del catálogo Known Exploited Vulnerabilities de CISA. La alerta de CERT Santé registra «explotación activa: no» y añade que no existía ninguna prueba de concepto en fuentes abiertas en esa fecha. Nada de eso es prueba de que nadie lo intentara; es la ausencia de cualquier intento registrado.

Al menos un agregador, Mallory, circula una puntuación de 8,7 para el mismo identificador. El registro de NVD no incluye ninguna métrica CVSS 4.0 —solo la 7.3 de GitLab y la 8.1 de NIST—, por lo que esa cifra no puede reproducirse a partir de ninguna fuente de primera parte revisada y no se utiliza aquí.

Qué está establecido y qué no

El archivo asigna a esta entrada la calificación de confianza A, no disputada, sin daños reales registrados. Esa calificación cumple una función real aquí: los documentos concuerdan entre sí y ninguno de ellos describe daños. El desglose que sigue es la parte que un resumen de una sola línea no puede recoger.

• Establecido: una falla en el agente de IA Duo Claude permitió que un rol Developer autenticado hiciera que se ejecutaran comandos arbitrarios en un contexto de CI, porque el agente procesaba configuración de una fuente controlada por el usuario. GitLab asignó CWE-829 y CVSS 7.3.

• Establecido: los rangos afectados y la corrección — 18.9 hasta 19.1.7, 19.2 hasta 19.2.5, 19.3 hasta 19.3.1, corregido el 26 de agosto de 2026 en 19.1.7, 19.2.5 y 19.3.1. La vulnerabilidad está registrada para GitLab EE; la misma versión también corrigió CE, por una falla diferente.

• Establecido: el crédito del reportero a thwin_htet a través del programa HackerOne de GitLab, y el estado operativo que GitLab comunicó a los clientes — GitLab.com ya parcheado, GitLab Dedicated fuera del alcance de la acción necesaria, a las instalaciones autogestionadas se les indicó que actualizaran de inmediato.

• Establecido: no se ha informado de explotación. La evaluación SSVC de CISA indica que ninguna; EPSS se mantuvo por debajo del uno por ciento hasta finales de octubre de 2026; el CVE no está en el catálogo KEV según OpenCVE; CERT Santé no registró explotación activa el día siguiente a la divulgación.

• Atribuido, no confirmado por el proveedor: las descripciones del impacto — secretos legibles, artefactos alterables, versiones manipulables — son la versión de la cobertura sobre lo que el alcance del token de un trabajo de CI permite generalmente, no una conclusión de que algo de ello ocurriera en este caso. Cyber Security News y GBHackers enmarcan ambas con "could" y "depending on"; ninguno informa de un caso concreto.

• No establecido: qué función de Duo y qué campo de configuración estaban involucrados, y cuál era realmente la fuente controlada por el usuario. La declaración del proveedor no los identifica.

• No determinado: cuántas instalaciones autogestionadas de Enterprise se encontraban en los rangos afectados, cuántas se actualizaron después del 26 de agosto de 2026, o si alguna fue atacada. Ninguna fuente revisada mide la adopción, y el proveedor no publicó ningún método de detección para las instancias parcheadas con retraso.

• Aún no establecido: el mecanismo técnico. Según la regla de 90 días de GitLab, la incidencia se hará pública alrededor de finales de noviembre de 2026; hasta entonces, el elemento vinculado del rastreador es un puntero a una explicación que todavía no existe públicamente.

A generated abstract illustration on a pale grey-blue field: a small outlined account node sits at the lower left, linked upward by a single thin line to a larger rounded agent node, which in turn connects to a rectangular job container outlined in dark slate. Inside the container, a stack of pale rectangular credential blocks is drawn behind a dotted boundary. The connecting line from the agent passes straight through that boundary rather than around it, and a short amber segment marks where it crosses. A faint second line, drawn in light cyan, runs outside the boundary and stops short. A faint blueprint grid sits behind. No text, numbers, people, brand marks or organisation logos appear. The OrcaRouter logo is composited in the bottom-right corner.

La solución, el tiempo de inactividad y la espera de 90 días

GitLab lanzó las versiones 19.3.1, 19.2.5 y 19.1.7 para Community Edition y Enterprise Edition el 26 de agosto de 2026, y afirmó que recomienda encarecidamente que todas las instalaciones autogestionadas se actualicen a una de esas versiones de inmediato. La parte de Community Edition del lanzamiento es importante porque otra falla diferente del mismo lote — CVE-2026-77801, un problema de denegación de servicio en las canalizaciones de importación calificado con 6.5 — afecta tanto a CE como a EE. La propia CVE-2026-18252 solo está registrada para Enterprise Edition.

No existe ningún workaround del proveedor. La alerta de CERT Santé registra que no existe ningún workaround, y las notas de GitLab no ofrecen ninguno; el único remedio indicado es la actualización. La versión tampoco es un reemplazo directo. Incluye migraciones de base de datos habituales en las tres versiones y migraciones posteriores al despliegue en 19.3.1 y 19.2.5, lo que, según GitLab, provocará tiempo de inactividad en instalaciones de nodo único mientras se completan las migraciones. Los despliegues multinodo pueden usar el procedimiento de actualización sin tiempo de inactividad de GitLab.

A self-built HTML card titled 'From reserved identifier to public detail', subtitled 'CVE-2026-18252, the dates that are on the record'. Five timeline rows read: 29 July 2026, GitLab reserves the CVE identifier; 26 August 2026 at 13:36 UTC, the CVE is published and 19.3.1, 19.2.5 and 19.1.7 ship with the fix; 27 August 2026, CERT Sante publishes an alert recording no active exploitation and no workaround; 28 October 2026, FIRST's EPSS puts exploitation probability at 0.00519, the 44th percentile; late November 2026, GitLab's 90-day rule expires and the issue detail becomes public. A footer reads 'Sources: CVE-2026-18252 record metadata; GitLab patch release notes, 26 August 2026; CERT Sante alert, 27 August 2026; FIRST EPSS API, read 29 October 2026; GitLab disclosure policy.' The OrcaRouter logo is composited in the bottom-right corner.

Las otras seis correcciones merecen un vistazo, porque una de ellas está muy cerca del tema de esta entrada. CVE-2026-15387, con una calificación de 4.3 y corregida en las mismas tres versiones, permitía que un usuario autenticado con permisos de rol de desarrollador influyera en el entorno de ejecución de los trabajos de aplicación de Pipeline Execution Policy mediante un manejo inadecuado de las dependencias de los trabajos. Dos vías de rol de desarrollador hacia la ejecución de trabajos, una calificada como Alta y otra como Media, se cerraron en el mismo parche.

La política de divulgación de GitLab explica por qué el mecanismo permanece opaco. Sus notas del parche indican que las incidencias que detallan cada vulnerabilidad se hacen públicas en el rastreador de incidencias 90 días después de la versión en la que se corrigieron. Contando desde el 26 de agosto de 2026, eso sitúa el informe técnico de CVE-2026-18252 en la última semana de noviembre de 2026. Hasta entonces, la referencia del rastreador en el registro de CVE no tiene detrás ningún informe técnico público que este artículo pueda leer.

Dónde encaja esto junto a la otra falla de agente de GitLab

GitLab reveló el 2 de octubre de 2026 una segunda vulnerabilidad, independiente y relacionada con agentes: CVE-2026-90970, con una puntuación de 9,9, en el AI Gateway y no en el agente de IA Duo Claude, y explotable mediante una plantilla de prompt de flujo manipulada en lugar de a través de la configuración de CI. Se trata de dos errores distintos en componentes distintos y con puntuaciones distintas, y el archivo los conserva como entradas separadas. Lo que comparten es la forma —un componente de IA en la ruta de entrega que actúa sobre configuración en la que un usuario con menos privilegios puede influir—, y por eso vale la pena leer el de octubre junto a este en lugar de en su lugar.

Para un operador, la decisión es limitada. Verifique la versión: 19.1.7, 19.2.5 y 19.3.1 son las versiones corregidas, y cualquier cosa en los tres rangos indicados está afectada. No hay ninguna solución provisional que ejecutar mientras tanto, y hasta finales de noviembre no hay ninguna descripción técnica publicada con la que auditar una instancia parcheada con retraso. Lo que existe es un registro en el que nadie ha reportado explotación, lo cual es una declaración sobre la ausencia de pruebas, no una garantía del proveedor de que no se haya producido ninguna brecha.