A critical vulnerability (CVE-2025-68613) has been identified in n8n, the popular workflow automation tool. The flaw lies in the expression evaluation system, where user-supplied expressions can escape the sandbox and access Node.js internals. This leads to arbitrary code execution with a CVSS score of 9.9 (Critical).

n8n is an open source workflow automation platform. Versions starting with 0.211.0 and prior to 1.120.4, 1.121.1, and 1.122.0 contain a critical Remote Code Execution (RCE) vulnerability in their workflow expression evaluation system. Under certain conditions, expressions supplied by authenticated users during workflow configuration may be evaluated in an execution context that is not sufficiently isolated from the underlying runtime. An authenticated attacker could abuse this behavior to execute arbitrary code with the privileges of the n8n process. Successful exploitation may lead to full compromise of the affected instance, including unauthorized access to sensitive data, modification of workflows, and execution of system-level operations. This issue has been fixed in versions 1.120.4, 1.121.1, and 1.122.0. Users are strongly advised to upgrade to a patched version, which introduces additional safeguards to restrict expression evaluation. If upgrading is not immediately possible, administrators should consider the following temporary mitigations: Limit workflow creation and editing permissions to fully trusted users only; and/or deploy n8n in a hardened environment with restricted operating system privileges and network access to reduce the impact of potential exploitation. These workarounds do not fully eliminate the risk and should only be used as short-term measures. Affected Versions
Exploitation
Attackers with authenticated access can craft malicious expressions that invoke Node.js modules (e.g., child_process) to run system commands. This allows:
Execution of arbitrary OS commands
Access to sensitive files and environment variables
Full compromise of the host system
Injected Pyload
Paste this payload into the expression field:
function() {
return this.process.mainModule.require('child_process').execSync('whoami').toString()
}
Example: -
listing the hostname and passwd file
Mitigation
Upgrade immediately to v1.122.0 or later
Restrict access to trusted users until patched
Monitor logs for suspicious workflow activity
Comments
Post a Comment