n8n ha corregido una vulnerabilidad de escape de sandbox de expresión de alta gravedad que permitía a un editor de flujos de trabajo autenticado ejecutar comandos del sistema operativo en el servidor que ejecuta la plataforma de automatización. Security Joes descubrió la falla mientras analizaba un parche anterior de n8n para otra evasión.

Las versiones afectadas son anteriores a la 2.31.5 y desde la 2.32.0 hasta la 2.32.1 exclusiva. n8n solucionó la falla en las versiones 2.31.5 y 2.32.1. La empresa rastrea el problema como GHSA-gv7g-jm28-cr3m, lo califica como Alto con una puntuación CVSS 4.0 de 8.7, y no se había asignado ningún CVE al 27 de julio de 2026.

Los administradores deben actualizar en lugar de confiar en las recomendaciones provisionales de n8n de restringir el acceso a la instancia y la edición de flujos de trabajo a usuarios completamente confiables. El aviso describe esos controles como mitigaciones incompletas y a corto plazo. No se menciona una versión 1.x parcheada ni si n8n Cloud se vio afectado.

La explotación requiere una cuenta válida con permiso para crear o modificar flujos de trabajo. No requiere acción de otro usuario. Un exploit exitoso ejecuta comandos con los privilegios del proceso n8n.

Security Joes, en un informe compartido con The Hacker News, dijo que el acceso podría exponer N8N_ENCRYPTION_KEY y permitir descifrar credenciales almacenadas en n8n. También podría abrir caminos a bases de datos conectadas, servicios internos y endpoints en la nube. La empresa no había observado explotación en la naturaleza cuando se preparó su informe. El aviso público no dice si la falla fue explotada antes de la corrección.

Los creadores de flujos de trabajo en n8n usan expresiones como ={{ $json.email }}. Un reescritor de árbol de sintaxis abstracta redirige los identificadores JavaScript libres en esas expresiones al contexto de datos controlado de n8n en lugar del runtime de Node.js. En la versión 2.31.4, VariablePolyfill.ts colocó ArrowFunctionExpression en una rama explícita de no operación. Un cuerpo de flecha conciso como () => process podía resolver process al global real de Node.js en lugar del valor aislado.

El segundo punto ciego, según Security Joes, estaba en las comprobaciones de propiedades de n8n, que inspeccionan nombres de propiedades estáticas en expresiones de miembros. Reflect.get() recibe la propiedad solicitada como un argumento de función. Los investigadores usaron esa distinción para recuperar process.getBuiltinModule, cargar child_process y ejecutar un comando en el host.

Probaron la prueba de concepto contra n8n 2.30.4 tanto a través del paquete de flujo de trabajo publicado como de una instancia local de n8n.

Una comparación de los archivos fuente públicos de la versión 2.31.4 y 2.31.5 confirma la brecha de la función flecha. No confirma independientemente la cadena de explotación completa de Reflect.get() descrita en el informe de Security Joes. El reescritor corregido agrega un manejador dedicado de ArrowFunctionExpression que enruta un identificador desnudo en un cuerpo de flecha conciso a través del contexto de datos.

Ninguno por sí solo es suficiente. Ninguno estaba cubierto por pruebas — dijo el equipo de investigación de Security Joes sobre las dos condiciones en las que se basó su exploit. Security Joes estimó inicialmente que la falla estaría cerca de la calificación Crítica de 9.4 de CVE-2026-27577; la puntuación publicada por el vendedor de 8.7 es la actual.

Los investigadores identificaron el escape residual el 14 de julio y lo reportaron a través del programa de divulgación de vulnerabilidades de n8n el 15 de julio. n8n publicó las versiones corregidas el 22 de julio. Los defensores deben revisar los flujos de trabajo creados o modificados recientemente en busca de funciones flecha inesperadas o JavaScript ofuscado. También deben buscar shells, PowerShell, curl o wget generados como hijos del proceso n8n o Node.js. Las credenciales deben rotarse donde se encuentre actividad sospechosa de ejecución de flujo de trabajo o comandos del host.

El hallazgo extiende una serie de escapes de sandbox de expresión que n8n ha parcheado desde 2025. Sigue a CVE-2026-27577, un escape con calificación 9.4 corregido en febrero después de que los investigadores encontraran que el objeto process se colaba sin transformar a través de la misma capa de reescritura de identificadores.

En implementaciones afectadas donde n8n almacena credenciales ampliamente privilegiadas o puede acceder a sistemas internos sensibles, un atacante que comprometa una cuenta de edición de flujo de trabajo puede usar la falla para ejecutar comandos como el proceso n8n y alcanzar servicios accesibles desde el host de n8n.

Cybersecurity
Cybersecurity
Cybersecurity
Cybersecurity