Deprecated Code Nodes Allow Code Execution in the n8n Main Process
What fixes it
No source in this snapshot names a fixed version.
Description
Impact
The Function and Function Item nodes run user code in the vm2 sandbox, and the LangChain Code node runs user code in the n8n main process. An authenticated user with permission to create or modify workflows could use these nodes to execute arbitrary code in the n8n main process, outside the task runner isolation that applies to the Code node.
Patches
In n8n versions 2.42.6, 2.43.3, 2.44.0 and 3.0.1, the Function, Function Item, and LangChain Code nodes are deprecated and blocked by default. Saving a workflow that adds or modifies one of these nodes is rejected; workflows already saved with these nodes continue to run unchanged. Administrators should review existing workflows and replace these nodes with the Code node.
The block can be disabled with N8N_DEPRECATED_NODES_BLOCK=false, which restores the vulnerable behavior.
Users should upgrade to one of these versions or later to remediate the vulnerability.
Workarounds
If upgrading is not immediately possible, administrators should consider the following temporary mitigations:
- Add
n8n-nodes-base.function,n8n-nodes-base.functionItem, and@n8n/n8n-nodes-langchain.codeto theNODES_EXCLUDEenvironment variable to prevent these nodes from being used. - Limit workflow creation and editing permissions to fully trusted users only.
These workarounds do not fully remediate the risk and should only be used as short-term mitigation measures.
Text from GitHub Advisory Database
Affected versions 3
- n8n, npm< 2.43.3GitHub
- n8n, npm< 2.42.6GitHub
- n8n, npm< 3.0.1GitHub