
n8n parchó un escape de zona protegida de expresiones de alta gravedad que permite a los editores de flujo de trabajo autenticados ejecutar comandos del sistema operativo en servidores que ejecutan la plataforma de automatización. Security Joes descubrió esta falla mientras investigaba la solución CVE-2026-27577 de febrero de n8n para otra derivación.
La zona afectada es <2.31.5 および >=2.32.0, <2.32.1. n8n solucionó defectos en las versiones 2.31.5 y 2.32.1. Este problema se rastrea como GHSA-gv7g-jm28-cr3m y tiene una calificación Alta con una puntuación CVSS 4.0 de 8,7 y no tiene CVE asignados al 27 de julio de 2026.
Los administradores deben actualizar en lugar de confiar en la guía provisional de N8N para restringir el acceso a la instancia y la edición del flujo de trabajo a usuarios de plena confianza. El aviso describe estos controles como medidas de mitigación incompletas y de corto plazo. No se menciona la versión 1.x parcheada, ni se menciona si n8n Cloud está afectado.
La explotación requiere una cuenta válida con permisos para crear o modificar flujos de trabajo. No se requiere ninguna acción por parte de otros usuarios. Un exploit exitoso ejecutará comandos con los privilegios del proceso n8n.
Security Joes dijo en un informe compartido con The Hacker News que el acceso podría exponer N8N_ENCRYPTION_KEY, permitiendo el descifrado de las credenciales almacenadas en n8n. También puede abrir caminos a bases de datos conectadas, servicios internos y puntos finales en la nube. La empresa no había observado ninguna explotación real en el momento en que se redactó el informe. El aviso público no dice si esta falla fue explotada antes de ser reparada.
El generador de flujo de trabajo n8n utiliza expresiones como ={{ $json.email }}. Abstract Syntax Tree Rewriter redirige los identificadores de JavaScript gratuitos en estas expresiones al contexto de datos controlado de n8n en lugar del tiempo de ejecución de Node.js. En la versión 2.31.4, VariablePolyfill.ts colocó ArrowFunctionExpression en una rama no operativa explícita. Por lo tanto, un cuerpo de flecha conciso como () => proceso puede resolver el proceso a un valor global de Node.js real en lugar de un valor de espacio aislado.
Según Security Joes, el segundo punto ciego está en las comprobaciones de propiedades de n8n, que examinan los nombres de propiedades estáticas en las expresiones de los miembros. Reflect.get() toma la propiedad solicitada como argumento de función. Los investigadores utilizaron esa distinción para recuperar Process.getBuiltinModule, cargar child_process y ejecutar comandos en el host.

Probaron su prueba de concepto con n8n 2.30.4 mediante paquetes de flujo de trabajo lanzados e instancias locales de n8n.
La comparación de los archivos fuente publicados 2.31.4 y 2.31.5 revela una brecha en la función de flecha. No confirmamos de forma independiente la cadena completa de exploits Reflect.get() descrita en el informe de Security Joes. La reescritura modificada agrega un controlador ArrowFunctionExpression dedicado que enruta el identificador simple dentro del conciso cuerpo de la flecha a través del contexto de datos.
El equipo de investigación de Security Joes dijo que el exploit se basaba en dos condiciones: «Ninguna de las dos cosas por sí sola no es suficiente; ninguna de las dos se cubrió en las pruebas». Security Joes estimó originalmente que esta falla alcanzaría una clasificación de gravedad de CVE-2026-27577, alrededor de 9,4. La puntuación actual publicada por el proveedor es 8,7.
Los investigadores identificaron el escape residual el 14 de julio y lo informaron a través del programa de divulgación de vulnerabilidades de n8n el 15 de julio. n8n publicó una versión de corrección el 22 de julio. Los defensores deben revisar los flujos de trabajo creados o modificados recientemente para detectar funciones de flecha inesperadas o JavaScript ofuscado. También debe buscar shells generados como hijos de procesos n8n o Node.js, PowerShell, curl o wget. Si encuentra una ejecución de flujo de trabajo sospechosa o actividad de comando del host, debe rotar las credenciales.
Este descubrimiento amplía una serie de escapes de expresión en la zona de pruebas que n8n ha estado parcheando desde 2025. Esto sigue a CVE-2026-27577, un escape con calificación 9.4 que se solucionó en febrero después de que los investigadores descubrieron que los objetos de proceso se deslizaban a través de la misma capa de reescritura de identificadores sin transformarse.
En las implementaciones afectadas donde n8n almacena amplias credenciales privilegiadas o tiene acceso a sistemas internos confidenciales, un atacante que comprometa la cuenta de edición del flujo de trabajo podría usar esta falla para ejecutar comandos como proceso n8n y obtener acceso a servicios accesibles desde el host n8n.
Source link
