Ilustración técnica abstracta sobre un campo gris cálido pálido: un panel de configuración ancho de color blanco crudo, con tenues filas de campos delimitadas por líneas, está situado a la izquierda del centro, y un pequeño token redondo cian con forma de ojo de cerradura sale de su borde superior a lo largo de una fina línea cian hacia un bloque de servidor plano color pizarra a la derecha. Debajo del panel, un campo oscuro redondeado contiene un par de finos corchetes angulares ámbar, y una segunda línea finísima ámbar va desde allí hasta el borde inferior del mismo bloque; un pequeño cuadrado ámbar marca la unión donde se encuentran los dos recorridos. Un segundo bloque de servidor, más tenue, está detrás del primero. Geometría vectorial plana con sombras suaves y márgenes generosos; no aparecen textos, letras, números, personas ni logotipos de organizaciones en ningún lugar. El logotipo de OrcaRouter está compuesto en la esquina inferior derecha de una franja blanca debajo de la ilustración.
AI Safety Incidents

CVE-2026-9198: Langflow emitía tokens de superusuario para cualquiera y luego ejecutaba lo que enviaban

Autor

Rowan Sterling

Fecha de publicación

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

El boletín de IBM para CVE-2026-9198 describe una toma de control de Langflow OSS mediante dos solicitudes: una llamada al endpoint de inicio de sesión automático de la plataforma devuelve un token bearer de superusuario a quien lo solicite, y una segunda llamada envía código Python al endpoint de validación de código, que lo ejecuta. El proveedor registra las dos mitades de la cadena bajo identificadores separados —CVE-2026-9103 para la autenticación faltante, CVE-2026-8481 para la ejecución— y califica la combinación con 9.8 en CVSS 3.1, alcanzable por la red sin privilegios y sin interacción del usuario. Las implementaciones predeterminadas en las versiones 1.0.0 a 1.10.0 se ven afectadas; la solución es 1.10.1, e IBM no indica ninguna solución alternativa. La Agencia de Ciberseguridad y Seguridad de Infraestructuras de EE. UU. añadió el CVE a su catálogo de Vulnerabilidades Conocidas como Explotadas el 4 de agosto de 2026, con una fecha límite federal de remediación del 7 de agosto. El registro, sus etiquetas de gravedad y daño, y las entradas registradas en torno a él se conservan en el Orca AI Incident Archive, que enumera este incidente junto con el resto de la serie.

La cadena, en tres boletines de IBM

IBM publica esta vulnerabilidad como tres documentos en lugar de uno, y leerlos juntos es lo que hace legible el mecanismo. Toda la cadena es CVE-2026-9198, un problema de inyección de código conforme a CWE-94, con puntuación 9.8 y el vector AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H — accesible por red, de baja complejidad, sin privilegios, sin interacción del usuario y con alto impacto sobre la confidencialidad, la integridad y la disponibilidad. Su primera mitad, CVE-2026-9103, es falta de autenticación para una función crítica conforme a CWE-306, también 9.8. Su segunda mitad, CVE-2026-8481, es CWE-94 de nuevo pero con puntuación 9.9: AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H, privilegios bajos en lugar de ninguno, y alcance cambiado.

A dark HTML card titled 'Three identifiers, one chain', kicker 'IBM Langflow OSS, 1.0.0 to 1.10.0', subtitle 'Bulletin identifiers, CWEs and CVSS 3.1 base scores, taken from the three IBM support pages cited in the article'. Three rows, each naming a CVE at left: CVE-2026-9103, missing authentication in the auto-login endpoint, CWE-306, scoring 9.8 with the metrics PR:N, UI:N, S:U, and a note that it issues a SUPERUSER bearer token valid for 365 days when AUTO_LOGIN is enabled, which is the default. CVE-2026-8481, remote code execution in the code-validation endpoint, CWE-94, scoring 9.9 with the metrics PR:L, UI:N, S:C, and a note that it passes submitted Python to exec and is scored with low privileges because the endpoint expects a session. CVE-2026-9198, the chain of the two filed as one vulnerability, CWE-94, scoring 9.8 with the metrics PR:N, UI:N, S:U, and a note that the no-privileges metric comes from the first half and the execution from the second. Two rules below read 'The execution half alone required a session. The missing authentication supplied one.' and 'Neither half is scored 9.8 with no privileges. Only the chain is.' A footer credits IBM as the CVSS source for all three and says the card was rendered by OrcaRouter with no vendor logos. The OrcaRouter logo is composited in the bottom-right corner.

El 9.9 es la parte honesta de la aritmética. El endpoint de validación de código nunca estuvo abierto a desconocidos por sí solo — IBM lo describe como una falla que permitía que «cualquier usuario autenticado ejecutara comandos arbitrarios del sistema con todos los privilegios del proceso del servidor de Langflow». Lo que hace que la cadena no requiera autenticación es la primera mitad: el endpoint de inicio de sesión automático, que, según la descripción de IBM, «emite tokens bearer de superusuario de larga duración sin requerir autenticación cuando la configuración AUTO_LOGIN está habilitada (habilitada de forma predeterminada)». El boletín añade que los tokens tienen una vida útil de 365 días, y registra una segunda vía de exposición que recibe menos atención: valores predeterminados permisivos de uso compartido de recursos entre orígenes que permiten orígenes comodín con credenciales, lo que, según IBM, «podría permitir el robo de tokens al vuelo desde sitios web arbitrarios».

La mitad de la ejecución es la parte sobre la que vale la pena detenerse. El resumen de IBM dice que el validador «compiló y ejecutó código enviado por el usuario, incluidas las evaluaciones en tiempo de definición de funciones, como argumentos predeterminados y decoradores», y que, por lo tanto, un atacante podría introducir de forma encubierta una expresión ejecutable en un parámetro predeterminado o en un decorador. No se trata de una figura retórica sobre código inseguro: un decorador se evalúa cuando se construye el def que lo encierra, por lo que una solicitud cuyo único propósito declarado es comprobar la sintaxis de una función sigue ejecutando cualquier cosa que se le adjunte. El propio aviso encadenado de IBM dice otro tanto en una sola cláusula: la validación y la ejecución eran la misma operación. La corrección registrada en el boletín CVE-2026-8481 fue «eliminar la ejecución de código de la ruta de validación y realizar únicamente comprobaciones de compilación».

A dark HTML card titled 'Two requests, two endpoints', kicker 'CVE-2026-9198, exploit chain', subtitle 'Paths as written in IBM bulletin 7278927; the chain needs no credentials, no user action and no reconnaissance'. Two panels joined by a cyan arrow. REQUEST 1 shows a POST to /api/v1/auto_login with the note that no credentials are supplied and none required and that the response carries a SUPERUSER bearer token with a 365-day lifetime, plus a smaller note that the CVE-2026-9103 bulletin writes this path as /api/v1/login/auto_login. REQUEST 2 shows a POST to /api/v1/validate/code with the token and a Python payload, calling exec with the privileges of the Langflow service process, and a note that the CVE-2026-8481 score is 9.9 with S:C and PR:L. A four-part strip below reads NO PRIVILEGES, vector PR:N; NO USER ACTION, vector UI:N; NO RECON NEEDED, only confirm it runs Langflow; and TWO HTTP CALLS, the whole chain. A closing panel headed 'Why validation was execution' quotes IBM's chained bulletin on default arguments and decorators evaluated at function-definition time, and states that a request whose stated job is to check syntax ran the attached code. A footer credits IBM bulletins 7278927 and 7278923 and says the card was rendered by OrcaRouter. The OrcaRouter logo is composited in the bottom-right corner.

Merece la pena registrar una pequeña discrepancia, ya que afecta a la caza de amenazas. El boletín encadenado escribe el endpoint del token como /api/v1/auto_login, y también lo hacen Cloud Security Alliance y Field Effect; el boletín independiente de IBM sobre CVE-2026-9103 lo escribe como /api/v1/login/auto_login. Ambos documentos de IBM describen el mismo endpoint y ninguno se equivoca en cuanto al comportamiento. La ruta de ejecución se escribe de forma idéntica en todas partes: POST /api/v1/validate/code.

De dónde proceden las fechas

El archivo fecha este registro el 6 de agosto de 2026. La entrada del catálogo de CISA, leída el 30 de octubre de 2026, registra la adición como 4 de agosto de 2026 y fija la fecha límite de remediación en el 7 de agosto. La cobertura circundante se sitúa a uno y otro lado de la fecha del archivo, no en ella: Field Effect publicó el 5 de agosto, y cvetodo y el equipo nacional de respuesta ante emergencias informáticas de Tailandia publicaron ambos el 7 de agosto. Una entrada, la fecha límite que produce y los artículos escritos sobre ella son tres eventos distintos, así que estas fechas no se contradicen entre sí — pero la diferencia de dos días entre el campo del archivo y el de CISA es la razón para consultar el catálogo cuando importa el día exacto.

La divulgación es más difícil de precisar, y las fuentes discrepan de verdad. La página de boletín de IBM para el CVE encadenado tiene una fecha de publicación inicial del 2 de julio de 2026 y una fecha de modificación del 17 de agosto de 2026. Field Effect fecha la divulgación de IBM el 2 de julio. La nota de investigación de Cloud Security Alliance del 18 de agosto sitúa la divulgación, y el lanzamiento de 1.10.1 junto con ella, en el 17 de julio; cvetodo dice lo mismo. Quince días separan las dos lecturas y ninguno de los dos documentos es descuidado, así que este artículo no elige entre ellas. Lo que está establecido en cualquier caso es que el parche se publicó antes del listado de KEV, y que 1.10.1 es la versión que lo incluía.

A dark HTML card titled 'What happened, and when it was written down', kicker 'CVE-2026-9198, five dates', subtitle 'Read from the IBM bulletin metadata and the CISA KEV catalog entry on 30 October 2026, with the source disagreement labelled rather than resolved'. Five rows: 2 July 2026, 'IBM bulletin published', the initial publication date on IBM support page 7278927, with Field Effect giving the same day as the disclosure date; 17 July 2026, 'The other reading of disclosure', highlighted in amber, the date the Cloud Security Alliance and cvetodo give for disclosure and the 1.10.1 release, fifteen days apart from 2 July; 4 August 2026, 'Added to CISA KEV catalog', the date the catalog entry records, with known ransomware use recorded as Unknown and forensic triage required under BOD 26-04; 7 August 2026, 'Federal remediation deadline', also the publication date of the ThaiCERT advisory and of cvetodo's coverage; and 6 August 2026, 'The archive's date for this record', two days after the catalog date and between the 5 August and 7 August coverage. Two rules below read 'Still unresolved in sources: disclosure on 2 July (IBM, Field Effect) or 17 July (Cloud Security Alliance, cvetodo). No tie-break found.' and 'Not in dispute: the patch preceded the KEV listing, and 1.10.1 is the release that carried it.' A footer notes that the catalog entry was read on 30 October 2026 and says the card was rendered by OrcaRouter. The OrcaRouter logo is composited in the bottom-right corner.

Lo que dice precisamente la entrada de CISA, en sus propios campos, es más limitado que su titular. El producto se encuentra bajo el proveedor IBM con el producto Langflow; la falla se describe como una «que permite a atacantes no autenticados lograr la ejecución remota de código completa en implementaciones predeterminadas de Langflow»; el uso conocido en campañas de ransomware se registra como Desconocido; el triaje forense se marca como obligatorio según BOD 26-04; y la acción requerida es aplicar mitigaciones de acuerdo con las instrucciones del proveedor, o dejar de usar el producto cuando las mitigaciones no estén disponibles.

El registro de explotación

El listado de CISA afirma que la vulnerabilidad se utilizó en la naturaleza. La evidencia pública que respalda esa afirmación es más endeble de lo que sugiere el 9,8. Ni IBM ni CISA han nombrado a un actor de amenazas ni han publicado detalles de una campaña observada — Field Effect lo afirma de forma categórica, y nada en los tres boletines de IBM ni en la entrada del KEV lo contradice.

Lo que existe en su lugar es telemetría de proveedores transmitida de segunda mano. La nota de Cloud Security Alliance cita a KEVIntel para la afirmación de que se registraron intentos de explotación a partir de «aproximadamente el 6 de julio de 2026», semanas antes de su divulgación según los propios cálculos de la alianza, y de que a mediados de agosto los intentos acumulados habían ascendido a los cientos, procedentes de varios centenares de direcciones de internet únicas repartidas por decenas de países. Esas cifras provienen de una sola empresa de monitorización y no aparecen en ninguna otra fuente revisada para este artículo. Aquí se dan a conocer, pero no se corroboran.

La fecha de inicio merece un segundo vistazo. Si los intentos realmente comenzaron alrededor del 6 de julio, eso es cuatro días después de la fecha del boletín que figura en la página de IBM, y once días antes de la fecha del 17 de julio que dan otras dos fuentes. Por lo tanto, la telemetría no confirma ni refuta ninguna de las dos fechas de divulgación; la Cloud Security Alliance ofrece ambas explicaciones sin decantarse por ninguna, describiendo la actividad inicial como o bien un descubrimiento independiente por parte de escáneres oportunistas, o bien una filtración de detalles técnicos antes de la divulgación coordinada.

El código de explotación público es la parte mejor documentada. Field Effect atribuye la descripción pública de la cadena a "una prueba de concepto pública publicada en julio de 2026" en el repositorio github.com/0xdak/CVE-2026-9198_exploit, y afirma que el código demuestra cómo obtener un token de superusuario mediante el endpoint de inicio de sesión automático y luego usarlo contra el endpoint de validación. Field Effect no vincula al autor de ese repositorio con ninguna explotación observada, y este artículo tampoco. Ninguna fuente revisada informa tampoco de un robo confirmado de credenciales de un host explotado: la descripción de recolección de credenciales que generalmente acompaña a las vulnerabilidades de Langflow es una evaluación sobre lo que dicho host contiene, cubierta más abajo, no un hallazgo sobre ninguna víctima nombrada en este registro.

Establecido, reportado y no establecido

• Confirmado. Que CVE-2026-9198 encadena la falta de autenticación en el endpoint de inicio de sesión automático con la ejecución de código en el endpoint de validación de código; que IBM califica la cadena con 9,8 según CWE-94 y sus dos mitades con 9,8 y 9,9; que las implementaciones predeterminadas de Langflow OSS 1.0.0 a 1.10.0 se ven afectadas en Windows, macOS y Linux; que 1.10.1 es la solución y IBM no publica ninguna solución alternativa; y que CISA añadió la CVE al catálogo KEV con una fecha límite federal del 7 de agosto de 2026. Los tres boletins de IBM son los documentos principales y coinciden entre sí sobre el mecanismo.

• Reiterado de forma independiente. ThaiCERT reprodujo la misma cadena de dos endpoints, la misma puntuación de 9.8, el mismo rango afectado y la misma solución 1.10.1 en su aviso del 7 de agosto de 2026, y añadió un control de red que los boletines de IBM no incluyen: mantener la interfaz administrativa de Langflow fuera de internet público y acceder a ella solo mediante una VPN o una lista estricta de direcciones permitidas. Eso es una corroboración de cómo se interpretó el aviso, por parte de un organismo gubernamental sin interés alguno en la redacción del proveedor — no un descubrimiento independiente de la vulnerabilidad.

• Reportado, no corroborado.Cada recuento de explotación: cientos de intentos, varios cientos de direcciones, docenas de países, a partir de alrededor del 6 de julio. Estas son las cifras de una empresa de monitoreo, transmitidas por un organismo de investigación. El listado de CISA confirma que hubo explotación sin cuantificarla, y ninguna segunda fuente de telemetría aparece en el material revisado aquí.

• No establecido. Ninguna víctima nombrada y ningún actor nombrado. Ninguna atribución a un Estado ni a un grupo criminal. Ninguna cifra confirmada de cuántas instancias de Langflow eran accesibles desde internet — cvetodo informó el 7 de agosto que IBM no había respondido a preguntas sobre la escala de la explotación — y ninguna declaración del proveedor que la cuantifique desde entonces. El archivo califica la confianza de este registro como A y no lo marca como disputado, y nada de lo revisado aquí lo disputa; las lagunas son lagunas en la evidencia pública, no en la afirmación de que la falla existe y fue utilizada.

• Excluido deliberadamente. El aviso de ThaiCERT también describe un escaneo automatizado dirigido por IA en la misma semana, pero lo atribuye a un producto distinto del mismo lote de CISA, no a Langflow. No constituye evidencia sobre este registro y no se utiliza aquí como tal.

¿Qué cambió después del listado?

La solución del proveedor es una actualización de versión y nada más. La tabla de productos afectados de IBM enumera Langflow OSS 1.0.0 a 1.10.0, indica 1.10.1 como la solución y coloca "None" en el campo de soluciones provisionales — en los tres boletines. El boletín CVE-2026-8481 describe el cambio: el validador dejó de ejecutarse y pasó a compilar. El boletín CVE-2026-9103, que cubre la parte de inicio de sesión automático, no detalla su solución con el mismo nivel de detalle, y ningún documento de IBM revisado aquí indica la fecha de lanzamiento de 1.10.1.

Las recomendaciones de todos los demás van más allá de las del proveedor. La Cloud Security Alliance recomienda actualizar y luego verificar en tiempo de ejecución que el endpoint de inicio de sesión automático ya no emita tokens a clientes no autenticados, en lugar de confiar en la cadena de versión; su razón declarada es que parches anteriores de Langflow se han publicado con correcciones incompletas. También recomienda establecer explícitamente la variable de entorno LANGFLOW_AUTO_LOGIN en false, de modo que la plataforma exija credenciales reales en lugar de generarlas, y tratar cualquier instancia que haya estado expuesta a internet desde principios de julio como comprometida en espera de una revisión de los registros, con rotación de credenciales para todo lo que la instancia pudiera alcanzar: claves de proveedores de modelos, credenciales de bases de datos y claves de servicios en la nube. ThaiCERT añade la mitad de red: ninguna interfaz administrativa en el internet público, solo VPN o lista de permitidos. Ambas son recomendaciones de los investigadores. IBM no publica ninguna.

Una línea de crédito consta en el registro. El reconocimiento de IBM atribuye el informe a Harish Kolla, alias de GitHub Har1sh-k. La Cloud Security Alliance, en su nota del 18 de agosto, sitúa CVE-2026-9198 como la cuarta vulnerabilidad distinta de Langflow, no autenticada o de omisión de autorización, en llegar al catálogo de CISA en aproximadamente cinco meses, y menciona los tres identificadores anteriores; su interpretación es que el patrón refleja una remediación fragmentada repetida de un mismo modelo de autenticación y ejecución de código, en lugar de defectos no relacionados. Ese planteamiento es la evaluación de la alianza, ofrecida en una nota de investigación; no es una conclusión de un auditor independiente, y ninguna fuente consultada aquí registra una respuesta pública de los mantenedores al respecto.

Qué determina y qué no determina la inclusión en el catálogo KEV

El catálogo de CISA es una declaración de explotación observada, no un informe de incidente, y esta entrada se atiene a esa forma. Dice que la vulnerabilidad se utilizó; no dice contra quién, por quién ni con qué frecuencia. El uso de ransomware se registra como Desconocido. Nada se cuantifica. Lo que el listado sí resuelve es la única pregunta que una puntuación de gravedad no puede responder: si la vulnerabilidad pasó de una prueba de concepto funcional a un uso real. Para las organizaciones fuera del alcance de BOD 26-04 —que son la mayor parte del mundo—, la fecha límite del 7 de agosto no conlleva obligación, y el hecho que subyace a ella tiene el mismo peso que habría tenido con una obligación.

Cloud Security Alliance extrae la conclusión operativa de la misma entrada: que una inclusión en KEV es una señal fiable de que la explotación ha superado la fase de prueba de concepto, y que, para esta vulnerabilidad, llegó aproximadamente un mes después de los primeros intentos registrados. Quien esperó el catálogo antes de realizar triaje estaba, según esa lectura, ya respondiendo a un incidente en lugar de prevenirlo. Si eso describe una implementación concreta es una pregunta para sus registros: el par de endpoints que hay que buscar es el que IBM documentó, y el registro no nombra ni una sola víctima contra la que probar la respuesta.