El 29 de octubre de 2026 IBM, la CNA de Langflow, publicó dos fallos sin autenticar en Langflow OSS que puntúan ambos CVSS 3.1 9.8: CVE-2026-93680, un bypass de autenticación, y CVE-2026-110186, una inyección de código que lleva a ejecución remota de código. Afectan cada release de 1.0.0 a 1.12.8, y el único arreglo es actualizar a 1.13.0.
Si la plataforma te suena, es el motor que está debajo de OpenRAG, el stack RAG open source que cubrí este año — OpenRAG está construido sobre Langflow y, en su release actual, todavía trae una imagen base 1.12. Este es un post de noticia en formato de seguridad: el hecho, el contexto, qué implica para los equipos y productos que corren o empaquetan Langflow, y las verificaciones de solo lectura y pasos de actualización de esta semana. Cada versión, fecha, CVSS y comando de abajo sale del advisory de IBM, los registros de los CVE, el repositorio y la documentación de Langflow, PyPI, Docker Hub y el feed del KEV de CISA, que revisé el 3 de noviembre.
1. Contexto: Dos Fallos de Portada Dentro de una Divulgación Mucho Mayor
El boletín de seguridad de IBM (publicado el 28 de octubre, actualizado el 29) lista siete vulnerabilidades: cuatro en Langflow y tres en su dependencia Hono. Las dos que más importan son sin autenticar y críticas. CVE-2026-93680 es autenticación indebida (CWE-287): un atacante remoto puede saltearse las restricciones de seguridad sin ningún login. CVE-2026-110186 es control indebido de la generación de código (CWE-94): un atacante remoto puede ejecutar código arbitrario. Ambas llevan el vector AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H — red, baja complejidad, sin privilegios y sin interacción del usuario — así que puntúan 9.8.
Estas dos son la punta de un lote mucho más grande. IBM publicó sus registros de CVE de Langflow en tres boletines a la vez (un agregador cuenta 33 IDs en total): 16 corregidos en 1.12.4, 14 en 1.12.5 y este último conjunto donde cuatro IDs de Langflow — las dos 9.8 más un fallo autenticado 8.8 de ejecución de comandos en el Agentic Assistant (CVE-2026-110193) y uno 6.5 de exposición de credenciales (CVE-2026-110192) — se corrigen solo en 1.13.0. El investigador Ostorlab reconstruye la toma de control sin login a partir del código de 1.12.8: un GET /api/v1/auto_login sin autenticar reparte tokens de sesión de superusuario cuando el auto-login está activo, y esa sesión llega a las herramientas MCP de Langflow, donde un componente personalizado es Python que corre en el servidor. Eso es análisis del investigador, no un exploit publicado por el proveedor.
Cronología (fechas tal como las publica cada fuente)
Cómo se reparte el lote (boletín de IBM 7294467)
| CVE | Tipo / CWE | CVSS 3.1 | ¿Necesita login? |
|---|---|---|---|
| CVE-2026-93680 | Bypass de autenticación (CWE-287) | 9.8 Critical | No |
| CVE-2026-110186 | Inyección de código → RCE (CWE-94) | 9.8 Critical | No |
| CVE-2026-110193 | Ejecución de comandos OS vía Agentic Assistant (CWE-94) | 8.8 | Sí, bajo privilegio |
| CVE-2026-110192 | Exposición de credenciales (CWE-522) | 6.5 | Sí |
| CVE-2026-84363 / 84364 / 84365 | Dependencia Hono: cache poisoning, DoS, path traversal en build | 5.3–6.5 | Dependencia, corregida en Hono 4.13.5 |
Por qué Langflow termina acá una y otra vez
La propia página de seguridad de Langflow lo llama “un IDE y plataforma de ejecución de código … inherentemente capaz de ejecutar código arbitrario provisto por el desarrollador”, sin aislamiento entre usuarios dentro de un mismo proceso: la seguridad es responsabilidad del operador. Eso hace que cualquier instancia alcanzable y débil en autenticación sea un camino directo a la ejecución de código. Se ve en el historial: seis CVE anteriores de Langflow ya están en el catálogo KEV de CISA, uno de ellos (CVE-2025-3248) con uso conocido en ransomware, y Metasploit trae ahora alrededor de catorce módulos de Langflow.
Dónde estamos (revisado el 3 de noviembre de 2026)
El arreglo es 1.13.0, y es la última estable
Confirmé 1.13.0 en PyPI (langflow y langflow-base, subidas el 22 de octubre), en Docker Hub (los tags 1.13.0 y latest comparten un mismo digest, publicados el 22 de octubre) y en la release de GitHub. La 1.13.1 existe solo como release candidates, así que 1.13.0 es la versión a instalar.
Las dos 9.8 están confirmadas por el proveedor
Los registros de CVE de IBM dan CVSS 3.1 9.8 para ambas, CWE-287 para el bypass de autenticación y CWE-94 para la inyección de código, afectando Langflow OSS 1.0.0 a 1.12.8, corregidas en 1.13.0.
Hay herramienta pública para el lado de la autenticación
El módulo auxiliar de Metasploit de Rapid7 (23 de octubre) abre el endpoint MCP SSE sin autenticar, inicializa una sesión y lista herramientas. Está marcado como crash-safe y no ejecuta código, y nombra las versiones 1.5.0–1.11.4, un rango más estrecho que el 1.0.0–1.12.8 de IBM.
No está en el KEV de CISA, hasta hoy
Leí el feed JSON del KEV el 3 de noviembre (catálogo 2026.10.30): ni CVE-2026-93680 ni CVE-2026-110186 figuran. El enriquecimiento de la propia CISA marca explotación “none” y automatable “yes”. Seis CVE más viejos de Langflow sí están en el catálogo.
Sin explotación confirmada de estas dos, todavía
Ostorlab afirma que no se reportó explotación de los CVE de octubre y que ninguno está en el KEV al 2 de noviembre. Dado lo rápido que se explotaron en masa fallos anteriores de Langflow, tomalo como una pista corta, no como un respiro.
Regla de oro
Contá cada Langflow alcanzable en 1.12.8 o anterior, no solo el principal: actualizá a 1.13.0, apagá el auto-login, mantenelo fuera de internet detrás de un proxy que autentique y rotá los secretos que guardó si estuvo expuesto alguna vez.
2. Cinco Implicaciones para Equipos que Corren o Empaquetan Langflow
El advisory de IBM da las versiones y el arreglo; el análisis de Ostorlab y el resumen de Metasploit completan cómo funciona de verdad el camino sin login. Juntos cambian cómo priorizaría esto.
Dos 9.8 sin autenticar es la peor forma que toma un fallo web
IBM · registros de CVE
Sin login, sin interacción del usuario, alcanzable por red, baja complejidad. Cualquier Langflow de 1.0.0 a 1.12.8 que un atacante pueda alcanzar está en alcance, y el bypass de autenticación y la inyección de código se encadenan en ejecución remota de código completa.
Ya hay herramienta pública para el lado de la autenticación
Rapid7 Metasploit
El módulo auxiliar del 23 de octubre prueba que el endpoint MCP sin autenticar es alcanzable y enumerable en 1.5.0–1.11.4. Se queda en listar herramientas, pero es la mitad de la cadena que te deja adentro, empaquetada y publicándose. El paso de RCE completo armado es el movimiento obvio que sigue.
El arreglo de portada es un cambio de default, no solo un parche
Langflow 1.13.0 · mi revisión del código
Comparé el handler de /api/v1/auto_login en el código de 1.12.8 y 1.13.0 y es idéntico byte a byte; lo que cambia la 1.13.0 es el default: AUTO_LOGIN pasa de activo a apagado. Así que apagar el auto-login cierra ese camino sin autenticar también en releases viejas. Es un paliativo, no un reemplazo: IBM lista otros fallos de inyección de código sin login y no ofrece workaround.
Es más grande que tu propia instalación: quien lo empaqueta lo hereda
OpenRAG · IBM
OpenRAG, el post más leído de este blog, está construido sobre Langflow. Su release 0.8.1 arma su imagen de Langflow sobre langflowai/langflow:base-1.12.x, dentro del rango afectado, y su instalador pone LANGFLOW_AUTO_LOGIN=true — la condición previa exacta del bypass de autenticación. Cualquier producto que empaquete un Langflow 1.0.0–1.12.8 arrastra ambos fallos hasta que rebase sobre 1.13.0.
Langflow es un blanco recurrente, y los atacantes lo saben
CISA KEV · política de seguridad de Langflow
No es el primer crítico de Langflow que se vuelve masivo. Seis CVE anteriores están en el KEV de CISA, uno con uso conocido en ransomware, y la plataforma es por diseño un IDE de ejecución de código sin aislamiento entre inquilinos. Tratá cada Langflow expuesto a internet como de alto valor y de vida corta si está atrasado en parches.
Quién está expuesto, y qué hacer
| Despliegue | Afectado cuando | Qué hacer |
|---|---|---|
| Instalación propia con pip / uv | langflow 1.0.0–1.12.8 (auto-login venía activo hasta 1.12.8) | Actualizá a 1.13.0 y poné una contraseña de superusuario antes de arrancarlo |
| Docker (langflowai/langflow) | tag de imagen 1.0.0–1.12.8 | Bajá 1.13.0, fijá el digest, recreá el contenedor |
| OpenRAG | 0.8.1 construye sobre Langflow base-1.12.x; el instalador activa el auto-login | Mantené su servicio Langflow fuera de internet; esperá una imagen basada en 1.13 |
| Otros productos que empaquetan Langflow | cualquier 1.0.0–1.12.8 embebido | Pedile al proveedor un build rebasado sobre Langflow 1.13.0 |
| Ya en 1.13.0 | no afectado por estos IDs | Dejá el auto-login apagado y poné una secret key |
Qué controla de verdad el auto-login
| Variable | Default (hasta 1.12.8) | Qué implica para la exposición |
|---|---|---|
| LANGFLOW_AUTO_LOGIN | true en el paquete pip; false en las imágenes Docker oficiales desde 1.11.x | true firma a cada visitante como superusuario sin contraseña — la condición previa del bypass |
| LANGFLOW_SUPERUSER_PASSWORD | sin definir | Obligatoria cuando el auto-login está apagado; sin ella el arranque falla cerrado, y no puede ser el valor legacy langflow |
| LANGFLOW_SKIP_AUTH_AUTO_LOGIN | false | Si es true, las llamadas a la API sin autenticar corren como superusuario — dejala apagada |
| LANGFLOW_ENABLE_SUPERUSER_CLI | true | La documentación recomienda false para evitar la creación irrestricta de superusuarios |
| LANGFLOW_SECRET_KEY | autogenerada si no se define | Encripta credenciales guardadas y firma tokens; poné la tuya, sobre todo entre varias instancias |
Sobre el número de “33 CVEs” y las líneas confusas del boletín: el 33 es todo el lote de registros de Langflow asignados por IBM en tres boletines, no este, que lista siete. La línea “corregido en 4.13.5” es la dependencia Hono (CVE-2026-84363 / 84364 / 84365), no Langflow — el Hono empaquetado de Langflow ya es 4.13.13 tanto en 1.12.8 como en 1.13.0. La entrada CWE-22 / 6.5 es el path traversal en build de Hono (CVE-2026-84365), y no choca con las calificaciones CWE-287 y CWE-94 de Langflow; son advisories distintos dentro de un mismo boletín.
3. Qué Hacer Esta Semana
El mismo orden que con cualquier fallo de runtime: encontrá cada copia alcanzable, actualizá como pide cada instalación, reiniciá para que el arreglo sea real y poné mitigaciones delante de lo que hoy no podés actualizar. Todo lo del paso 1 solo lee.
Paso 1: Encontrá cada Langflow y leé su versión
Instalaciones directas: pip, la CLI, el endpoint de versión, Docker
El endpoint /api/v1/version es el que confiaría en un servidor en marcha; leí su handler en el código y devuelve la versión del paquete instalado. Afectado si la versión es 1.0.0 a 1.12.8. Nada de esto cambia estado.
# 1. El paquete de Python: qué está instalado y corriendo de verdad
pip show langflow langflow-base # línea corregida: 1.13.0 (ambos paquetes)
langflow --version # o: python -m langflow --version
# 2. Un servidor en marcha, por el endpoint de versión documentado
curl -s http://127.0.0.1:7860/api/v1/version
# {"version":"1.12.8","main_version":"1.12.8","package":"Langflow"} = afectado
# 3. Docker: el tag que corre el contenedor, no a dónde apunta hoy :latest
docker ps --format '{{.Names}} {{.Image}}' | grep -i langflow
grep -rniE 'langflow(ai)?/langflow|openrag-langflow' --include='*.y*ml' .
# 4. ¿Está el auto-login activo? Es la condición previa del camino sin autenticar
docker exec <container> printenv LANGFLOW_AUTO_LOGIN # vacío o true en <=1.12.8Quien lo empaqueta: OpenRAG y cualquier otro que traiga Langflow
Actualizar un producto no actualiza el Langflow que lleva adentro salvo que el proveedor haya rebasado. Los datos de OpenRAG de abajo salen de su repositorio e imágenes el 3 de noviembre; no corrí OpenRAG en sí.
# Los productos que empaquetan Langflow también arrastran el fallo. OpenRAG es el caso más claro.
docker ps --format '{{.Names}} {{.Image}}' | grep -i 'openrag-langflow'
docker exec <openrag-langflow> python -m langflow --version # 1.12.x = afectado
# OpenRAG 0.8.1 construye su imagen de Langflow sobre langflowai/langflow:base-1.12.x
# (base-1.12.3 en el tag 0.8.1, base-1.12.8 en main) — dentro del rango 1.0.0-1.12.8 —
# y su instalador pone LANGFLOW_AUTO_LOGIN=true. Mirá qué deja expuesto:
docker port <openrag-langflow> 7860 # 0.0.0.0:7860 = alcanzable fuera del hostNo confíes todavía en pip-audit ni en OSV para detectar esto
Consulté el 3 de noviembre tanto el campo de vulnerabilidades de PyPI como la base OSV para langflow 1.12.8 y ninguno devuelve estos CVE. Los registros los publica IBM pero todavía no están mapeados sobre el paquete de PyPI en los scanners, así que una auditoría automática puede dar limpio sobre una instalación vulnerable. Juzgá Langflow por su versión contra el rango 1.0.0–1.12.8, no por el silencio de un scanner.
Paso 2: Actualizá según el tipo de instalación
Un arreglo en disco no hace nada por un proceso que cargó el código viejo, así que cada tarjeta termina en un reinicio o recreación. Antes de arrancar, respaldá la base de datos, el directorio de configuración y la secret key — la 1.13.0 además mueve las knowledge bases locales de Chroma a SQLite en el primer arranque, y una actualización mal configurada en Docker puede perder datos.
Paquete de Python (pip o uv)
PyPI · 22 oct
Instalá 1.13.0 y después reiniciá cada proceso. El cambio grande: 1.13.0 desactiva el auto-login por defecto, así que el inicio de sesión necesita contraseña. Poné LANGFLOW_SUPERUSER_PASSWORD antes de arrancar o el arranque falla cerrado. Si la instancia usaba auto-login, seguí primero los pasos de “actualizar una instalación con auto-login existente” de la documentación para no perder la cuenta dueña de tus flujos.
pip install --upgrade "langflow==1.13.0" uv pip install --upgrade "langflow==1.13.0" # si usás uv langflow --version # 1.13.0
Imagen de Docker
Docker Hub · fijá tag + digest
El tag corregido es langflowai/langflow:1.13.0 (su digest coincide con latest, ambos publicados el 22 de octubre). Mantené tus datos fuera del contenedor: montá un volumen en LANGFLOW_CONFIG_DIR y poné LANGFLOW_DATABASE_URL (o LANGFLOW_SAVE_DB_IN_CONFIG_DIR=true), o recrear el contenedor borra la base de datos y la secret key.
docker pull langflowai/langflow:1.13.0 docker buildx imagetools inspect langflowai/langflow:1.13.0 | grep -m1 Digest # image: langflowai/langflow:1.13.0@sha256:<digest> docker compose pull && docker compose up -d --force-recreate docker compose exec app curl -s http://127.0.0.1:7860/api/v1/version
La actualización con auto-login (no te la saltees)
Documentación de Langflow
Si tu instancia usaba auto-login, poner una contraseña sola no resetea la contraseña bootstrap generada de la cuenta existente. Mantené la misma base de datos, directorio de config, secret key y usuario, verificá o poné una contraseña en esa cuenta (PATCH /api/v1/users/{id} con una sesión de admin) y después poné las variables de abajo antes de reiniciar en 1.13.0. Hay un camino de recuperación documentado si actualizaste sin preparar.
LANGFLOW_AUTO_LOGIN=false LANGFLOW_SUPERUSER=<usuario-existente> # por defecto: langflow LANGFLOW_SUPERUSER_PASSWORD=<contraseña-fuerte> LANGFLOW_SECRET_KEY=<mantené la misma clave para desencriptar los flujos>
OpenRAG y otros que lo empaquetan
OpenRAG 0.8.1
Al día de 0.8.1 (29 de octubre), OpenRAG no publicó una imagen con Langflow 1.13.0 — construye sobre la base 1.12 y su instalador activa el auto-login. Hasta que llegue una imagen rebasada, mantené el servicio Langflow de OpenRAG atado a la red interna y alcanzable solo a través del frontend de OpenRAG, no publicado en 0.0.0.0:7860. Para cualquier otro producto, preguntale al proveedor qué versión de Langflow empaqueta y cuándo pasa a 1.13.0.
Instalaciones previas a 1.0.0 y abandonadas
IBM · releases de Langflow
El rango de IBM arranca en 1.0.0, pero las instalaciones viejas y sin mantenimiento de Langflow traen sus propios fallos listados en el KEV y no las cubre la línea de arreglo de 1.13.0. Si no podés mover una instancia vieja a 1.13.0, las mitigaciones de abajo son permanentes para ella, no temporales.
Paso 3: Mitigá lo que hoy no podés actualizar
IBM no ofrece workaround y dice que 1.13.0 es el arreglo. Lo que sí podés hacer es sacar las condiciones previas: mantené a los que llaman sin confianza fuera del servidor y apagá la variable que reparte sesiones.
En el borde de la red: no lo expongas, y fijá la dirección
La documentación de Langflow es tajante: nunca expongas su puerto directo a internet; poné delante un proxy inverso que autentique. Con Docker, acordate de que un puerto publicado va a todas las interfaces por defecto y se saltea las reglas de ufw del host, así que atalo a localhost explícitamente.
# No publiques Langflow en todas las interfaces. Atalo a localhost y poné delante # un proxy inverso que autentique (es la recomendación de la propia Langflow). docker run -p 127.0.0.1:7860:7860 ... # NO -p 7860:7860, que ata a 0.0.0.0 # Docker publica los puertos en todas las direcciones por defecto y se saltea las # reglas de ufw del host para ellos, así que fijá la dirección en vez de confiar en el firewall.
En la configuración: apagá el auto-login y rotá los secretos
Apagar el auto-login cierra el camino de sesión sin autenticar documentado — lo mismo que hace la 1.13.0 por defecto — y exige una contraseña real. Si la instancia estuvo alcanzable alguna vez mientras era vulnerable, asumí que los secretos que tenía están quemados y rotalos con el script de migración de Langflow, que re-encripta las credenciales guardadas con una clave nueva.
# Cerrá el camino sin autenticar documentado: apagá el auto-login y exigí contraseña. # La 1.13.0 hace exactamente esto por defecto; en 1.12.x lo configurás vos. LANGFLOW_AUTO_LOGIN=false LANGFLOW_SUPERUSER=<usuario-existente> # por defecto: langflow LANGFLOW_SUPERUSER_PASSWORD=<contraseña-fuerte> # sin esto el arranque falla cerrado LANGFLOW_ENABLE_SUPERUSER_CLI=false # recomendado por la documentación LANGFLOW_SECRET_KEY=<tu-propia-clave-de-32-bytes> # Si la instancia estuvo expuesta alguna vez, rotá la clave Y re-encriptá los secretos # que protegía (variables globales, API keys de componentes, credenciales guardadas): uv run python scripts/migrate_secret_key.py --dry-run uv run python scripts/migrate_secret_key.py
Qué cubren estas mitigaciones y qué no
- Apagar el auto-login es un paliativo, no el arreglo: cierra el camino /api/v1/auto_login, pero IBM lista otros fallos de inyección de código sin autenticar en el lote y no ofrece workaround para ellos. Actualizá a 1.13.0.
- Un proxy solo sirve si no hay nada más publicado: un proxy inverso que autentica no vale nada si el contenedor igual expone 7860 en 0.0.0.0 al lado. Atá la app a localhost.
- Rotar la secret key no alcanza por sí sola: rotá también las credenciales aguas abajo que protegía — API keys de componentes, tokens de proveedores y variables globales — en cada proveedor, porque esas claves quedaron expuestas, no solo la clave de Langflow.
- Quien lo empaqueta depende del proveedor: no podés hacer pip-upgrade del Langflow que está dentro de OpenRAG u otro producto; lo contenés y esperás una release rebasada.
Las señales son finas, así que mirá los logs que tenés
IBM no publicó indicadores de compromiso. Ostorlab sugiere buscar en los logs de acceso del servidor web GET /api/v1/auto_login desde fuera de tus direcciones internas conocidas, y revisar flujos, cuentas, API keys y registros de clientes creados durante cualquier ventana en que la instancia estuvo expuesta. Tus propias peticiones de verificación también aparecen ahí, así que filtralas. Un acierto implica aislar el host y rotar secretos, no solo bloquear una dirección.
El orden en que trabajaría
- 1. Hoy: cualquier Langflow en 1.0.0–1.12.8 alcanzable desde internet o una red no confiable. Actualizá a 1.13.0, o como mínimo poné LANGFLOW_AUTO_LOGIN=false, una contraseña de superusuario y un proxy inverso, y sacalo de 0.0.0.0.
- 2. También hoy: inventariá a quienes lo empaquetan. Encontrá cada OpenRAG y cada producto que trae Langflow, leé la versión embebida y conté los que siguen en 1.12.x.
- 3. Esta semana: las instancias solo internas. Actualizalas también, y rotá la secret key y las credenciales aguas abajo de todo lo que estuvo expuesto alguna vez mientras era vulnerable.
- 4. Seguí mirando: el catálogo KEV de CISA y las releases de OpenRAG. Si cualquiera de estos CVE entra al KEV, cambia el reloj; cuando OpenRAG publique una imagen basada en 1.13, reconstruí.
Conclusión
Dos 9.8 sin autenticar en una plataforma de ejecución de código es casi el peor caso para una aplicación web, y el giro acá es el alcance: Langflow no es solo algo que vos auto-hospedás, es el motor dentro de OpenRAG y otros productos RAG, y todos ellos quedan en el rango 1.0.0–1.12.8 hasta que rebasen sobre 1.13.0.
La buena noticia es que el arreglo es limpio y las mitigaciones son concretas. Actualizá a 1.13.0, que apaga el auto-login por defecto; donde todavía no puedas actualizar, apagá el auto-login vos mismo, mantené el servidor fuera de internet detrás de un proxy que autentique y rotá cualquier secreto que haya tenido mientras estuvo expuesto. Los CVE no están hoy en el KEV de CISA, pero el historial de Langflow dice que esa ventana puede cerrarse rápido.
Esta semana en una pantalla
Verificá
- • pip show langflow / langflow --version
- • curl /api/v1/version en servidores en marcha
- • LANGFLOW_AUTO_LOGIN en cada instancia
Parcheá
- • langflow==1.13.0 · langflowai/langflow:1.13.0
- • Poné una contraseña de superusuario antes de arrancar
- • Reconstruí a quienes lo empaquetan cuando rebasen
Vigilá
- • Puerto 7860 fuera de 0.0.0.0, proxy delante
- • Rotá la secret key si estuvo expuesta
- • KEV de CISA + imagen OpenRAG 1.13
Fuentes
- IBM — Boletín de seguridad: Langflow OSS afectado por múltiples vulnerabilidades (7294467)
- CVE.org — Registro de CVE-2026-93680 (bypass de autenticación, CVSS 3.1 9.8)
- CVE.org — Registro de CVE-2026-110186 (inyección de código → RCE, CVSS 3.1 9.8)
- Langflow — Notas de la release v1.13.0 (auto-login apagado por defecto)
- Documentación de Langflow — API keys y autenticación (AUTO_LOGIN, superusuario, secret key)
- Rapid7 — Metasploit wrap-up: Langflow, MongoDB y más (módulo de bypass de autenticación)
- Ostorlab — Análisis del bypass de auto-login de Langflow (CVE-2026-93680)
- The Hacker News — Fallos críticos de Langflow permitirían a atacantes ejecutar código
- GBHackers — Vulnerabilidades críticas de Langflow AI permiten RCE sin autenticar
- CISA — Catálogo de vulnerabilidades explotadas conocidas (KEV)



