GHSA-679f-58pq-4v2c: Npm/n8n vulnerability
Impact
The Instance AI workflow summary built its result with get-or-create-then-nested-write idioms keyed by node names and connection keys taken from the stored workflow. Those are arbitrary strings: the restricted-name guard n8n shows in the editor is client-side and is bypassed by posting the workflow to the REST API directly. So a reserved key such as proto resolved up the prototype chain instead of creating an own key, and the write landed on Object.prototype in the main n8n process, affecting every later request. The patch builds the summary with null-prototype accumulators and validates the keys it accepts, so reserved names cannot reach the prototype chain.
Patches
The issue has been fixed in n8n versions 2.37.7 and 2.38.2. 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: - Restrict n8n instance access to fully trusted users only. - Remove or leave unconfigured the N8NINSTANCEAIMODEL environment variables to prevent the Instance AI module from reaching the vulnerable code path. - Restart the n8n process to clear any in-memory prototype pollution if an attack is suspected.
These workarounds do not fully remediate the risk and should only be used as short-term mitigation measures.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
npm/n8nto a version that resolves this vulnerability.Fixed in 2.37.7 - Upgrade
Upgrade
npm/n8nto a version that resolves this vulnerability.Fixed in 2.38.2 - Upgrade
Upgrade
n8nto a version that resolves this vulnerability.Fixed in 2.37.7 - Upgrade
Upgrade
n8nto a version that resolves this vulnerability.Fixed in 2.38.2 - Configuration
Remove or leave unconfigured the `N8N_INSTANCE_AI_MODEL*` environment variables to prevent the Instance AI module from reaching the vulnerable code path.
n8n Instance AI module N8N_INSTANCE_AI_MODEL* environment variables = removed/unset (delete or leave unconfigured) - Compensating control
Restrict access to the n8n instance to fully trusted users only.
- Operational
Restart the n8n process to clear any in-memory prototype pollution if an attack is suspected.
Event History
Frequently Asked Questions
Who can exploit this issue?
A user who can submit a stored workflow through the n8n REST API can bypass the editor’s client-side restricted-name guard. Administrators should treat instances accessible to untrusted users as exposed.
When is the vulnerable code path reachable?
The vulnerable path is in the Instance AI workflow summary. Leaving the N8N_INSTANCE_AI_MODEL* environment variables unconfigured can prevent the Instance AI module from reaching that path.
What can be done before upgrading?
Restrict access to the n8n instance to fully trusted users only, and remove or leave N8N_INSTANCE_AI_MODEL* environment variables unconfigured. Restart n8n after applying the temporary mitigation.
Which versions remediate the issue?
Upgrade to n8n version 2.37.7, 2.38.2, or a later version.