Investigadores de ciberseguridad han revelado detalles de otra vulnerabilidad de alta gravedad en n8n, una popular plataforma de automatización de flujo de trabajo, que permite a un atacante remoto no autenticado obtener un control completo de las instancias vulnerables.
La vulnerabilidad, rastreada como CVE-2026-21858 (Puntuación CVSS: 10,0), recibió un nombre en clave ni8mare de los laboratorios de investigación Cyera. El investigador de seguridad Dor Attias fue reconocido por descubrir e informar el error el 9 de noviembre de 2025.
“Una vulnerabilidad en n8n permite a un atacante acceder a archivos en el servidor subyacente mediante la ejecución de ciertos flujos de trabajo basados en formularios”, dice un aviso de n8n publicado hoy. “Un flujo de trabajo vulnerable podría proporcionar acceso a un atacante remoto no autenticado. Esto podría resultar en la divulgación de información confidencial almacenada en el sistema y, dependiendo de la configuración de implementación y el uso del flujo de trabajo, permitir un mayor compromiso”.
Con el último desarrollo, n8n ha descubierto cuatro vulnerabilidades críticas en las últimas dos semanas:
- CVE-2025-68613 (Puntuación CVSS: 9,9): control inadecuado de los recursos de código administrados dinámicamente que podrían permitir a atacantes autenticados lograr la ejecución remota de código (RCE) bajo ciertas condiciones (corregido en las versiones 1.120.4, 1.121.1 y 1.122.0).
- CVE-2025-68668 o N8scape (Puntuación CVSS: 9.9): una vulnerabilidad de omisión de sandbox que podría permitir a un usuario autenticado con permiso crear o modificar flujos de trabajo para ejecutar comandos arbitrarios en el sistema host que ejecuta n8n (corregido en la versión 2.0.0).
- CVE-2026-21877 (Puntuación CVSS: 10.0): una carga sin restricciones de un archivo que contiene una vulnerabilidad peligrosa que podría permitir a un atacante autenticado ejecutar código que no es de confianza a través del servicio n8n, lo que resultaría en un compromiso de instancia completa (corregido en la versión 1.121.3).

Sin embargo, a diferencia de estas vulnerabilidades, CVE-2026-21858 no requiere credenciales y explota una falla de confusión de “tipo de contenido” para extraer secretos confidenciales, falsificar el acceso administrativo e incluso ejecutar comandos arbitrarios en el servidor.
La vulnerabilidad afecta a todas las versiones de n8n anteriores a la 1.65.0 incluida. El problema se resolvió en la versión 1.121.0 lanzada el 18 de noviembre de 2025. Vale la pena señalar que las últimas versiones de la biblioteca son 1.123.10, 2.1.5, 2.2.4 y 2.3.0.
Según los detalles técnicos compartidos con The Hacker News por Cyera, el núcleo del problema radica en el webhook n8n y el mecanismo de procesamiento de archivos. Los webhooks, que son fundamentales para recibir datos de aplicaciones y servicios durante ciertos eventos, se activan después de que la solicitud entrante se analiza mediante una función llamada parseRequestBody().
Específicamente, la función está diseñada para leer el encabezado “Tipo de contenido” en la solicitud y llamar a otra función para analizar el cuerpo de la solicitud.
- Utilice parseFormData(), también conocido como “analizador de carga de archivos”, cuando el encabezado “Tipo de contenido” sea “multipart/form-data”, que denota datos del formulario.
- Utilice parseBody(), también conocido como “analizador de cuerpo normal”, para todos los demás tipos de contenido.

El analizador de carga de archivos, a su vez, utiliza la función parse() asociada con formidable, un módulo de Node.js para analizar datos de formularios, y almacena el resultado decodificado en una variable global llamada “req.body.files”. Estos datos completados son procesados por el webhook, que solo se ejecuta cuando el encabezado Content-Type está configurado en multipart/form-data.
Por el contrario, el analizador de cuerpo normal procesa el cuerpo de la solicitud HTTP entrante y almacena los datos extraídos en otra variable global llamada req.body.
CVE-2026-21858 ocurre cuando se ejecuta una función de procesamiento de archivos sin verificar primero si el tipo de contenido es multiparte/form-data, lo que puede permitir que un atacante sobrescriba req.body.files. Cyera dijo que encontró un flujo tan vulnerable en la función que maneja los envíos de formularios (“formWebhook()”), que llama a una función de procesamiento de archivos (“copyBinaryFile()”) para responder a “req.body.files”.
“Aquí está el problema: dado que esta función se llama sin verificar si el tipo de contenido es 'multipart/form-data', controlamos todo el objeto req.body.files”, dijo Attias. “Esto significa que controlamos el parámetro de ruta del archivo. Entonces, en lugar de copiar un archivo cargado, podemos copiar cualquier archivo local del sistema”.
“¿El resultado? Cada nodo después del nodo del formulario recibe el contenido del archivo local en lugar de lo que cargó el usuario”.

En cuanto al impacto del ataque, imagine un sitio web que tiene una interfaz de chat para proporcionar información sobre varios productos basándose en archivos de especificaciones de producto cargados en la base de conocimientos de la organización mediante un flujo de trabajo de formulario. Con esta configuración, un atacante puede aprovechar la vulnerabilidad para leer archivos arbitrarios de la instancia n8n y reenviarlos a RCE siguiendo los pasos a continuación:
- Utilice cualquier primitiva de lectura para acceder a la base de datos en /home/node/.n8n/database.sqlite y cárguela en la base de conocimientos.
- Extraiga el ID de usuario administrador, la dirección de correo electrónico y la contraseña hash a través de la interfaz de chat
- Reutilice la primitiva de lectura arbitraria para cargar un archivo de configuración en /home/node/.n8n/config y extraiga la clave de cifrado secreta
- Utilice el usuario obtenido y la información clave para falsificar una cookie de sesión falsa y obtener acceso administrativo, lo que resultará en una omisión de autenticación.
- Logre RCE creando un nuevo flujo de trabajo con un nodo Ejecutar comando
“El radio de explosión de un N8N comprometido es enorme”, dijo Cyera. “Una instancia n8n comprometida no solo significa la pérdida de un sistema, sino que significa darles a los atacantes las claves de todo. Credenciales API, tokens OAuth, conexiones de bases de datos, almacenamiento en la nube, todo centralizado en un solo lugar. n8n se convierte en un único punto de falla y una mina de oro para los actores de amenazas”.
Dada la gravedad del error, se recomienda a los usuarios que actualicen a la versión parcheada o posterior lo antes posible para garantizar una protección óptima, evitar exponer n8n a Internet y aplicar la autenticación en todos los formularios. Como solución temporal, recomendamos restringir o deshabilitar los puntos finales de formulario y webhook de acceso público.