Cleartext Storage of Sensitive Informationn8n-nodes-base is a Base nodes of n8n
Affected versions of this package are vulnerable to Cleartext Storage of Sensitive Information in the process that handles Google Service Account credentials, where the full PEM private key is placed in the JWT header's kid field instead of a key identifier. An attacker can gain unauthorized access to Google Cloud resources by recovering the private key from Base64-encoded JWT headers that are logged or inspected.
Note: This is only exploitable if Google Service Account credentials are configured.
How to fix Cleartext Storage of Sensitive Information? Upgrade n8n-nodes-base to version 1.121.40, 2.29.7, 2.30.1 or higher.
| <1.121.40>=2.0.0-rc.0 <2.29.7>=2.30.0 <2.30.1 |
Time-of-check Time-of-use (TOCTOU) Race Conditionn8n-nodes-base is a Base nodes of n8n
Affected versions of this package are vulnerable to Time-of-check Time-of-use (TOCTOU) Race Condition via a race condition in the clone action. An attacker can execute arbitrary code on the server by exploiting a time-of-check to time-of-use (TOCTOU) issue, swapping a directory for a symlink after path validation but before the clone operation, which results in a crafted repository being loaded and executed as a custom node on the next restart.
How to fix Time-of-check Time-of-use (TOCTOU) Race Condition? Upgrade n8n-nodes-base to version 1.121.40, 2.29.7, 2.30.1 or higher.
| <1.121.40>=2.0.0-rc.0 <2.29.7>=2.30.0 <2.30.1 |
Incorrect Authorizationn8n-nodes-base is a Base nodes of n8n
Affected versions of this package are vulnerable to Incorrect Authorization in the GraphQL node when the "Allowed HTTP Request Domains" restriction is not enforced on HTTP-based credentials. An attacker can access restricted credentials by configuring the node's endpoint to send requests to a server under their control.
Note: This is only exploitable if a credential has "Allowed HTTP Request Domains" configured and is usable by non-owner users.
How to fix Incorrect Authorization? Upgrade n8n-nodes-base to version 1.121.40, 2.29.7, 2.30.1 or higher.
| <1.121.40>=2.0.0-rc.0 <2.29.7>=2.30.0 <2.30.1 |
External Control of File Name or Pathn8n-nodes-base is a Base nodes of n8n
Affected versions of this package are vulnerable to External Control of File Name or Path via the Edit Image. An attacker can write arbitrary files outside the intended directory by supplying crafted values to the output format parameter.
How to fix External Control of File Name or Path? Upgrade n8n-nodes-base to version 1.121.42, 2.31.3, 2.32.1 or higher.
| <1.121.42>=2.0.0-rc.0 <2.31.3>=2.32.0 <2.32.1 |
Prototype Pollutionn8n-nodes-base is a Base nodes of n8n
Affected versions of this package are vulnerable to Prototype Pollution via the Edit Fields (Set) process when output fields are assigned using dot-notation path setters without restricting field names. An attacker can corrupt a shared global in the main Node.js by naming a field after an inherited built-in method path, which causes all authenticated requests to fail and results in a denial of service for all users until the process is restarted.
How to fix Prototype Pollution? Upgrade n8n-nodes-base to version 1.121.42, 2.31.3, 2.32.1 or higher.
| <1.121.42>=2.0.0-rc.0 <2.31.3>=2.32.0 <2.32.1 |
Directory Traversaln8n-nodes-base is a Base nodes of n8n
Affected versions of this package are vulnerable to Directory Traversal via the Git node's fetch, pull, or push-tags operations. An attacker can access files and history outside the intended workspace by configuring an allowlisted remote value to point to a local path beyond the sandbox.
How to fix Directory Traversal? Upgrade n8n-nodes-base to version 1.121.42, 2.31.3, 2.32.1 or higher.
| <1.121.42>=2.0.0-rc.0 <2.31.3>=2.32.0 <2.32.1 |
Server-side Request Forgery (SSRF)n8n-nodes-base is a Base nodes of n8n
Affected versions of this package are vulnerable to Server-side Request Forgery (SSRF) via improper handling of message fields in the Send Email node. An attacker can access arbitrary files or initiate unauthorized network requests by supplying crafted non-string input to the text or HTML body fields.
Note: This is only exploitable if a pre-existing active workflow with an unauthenticated webhook exists, valid SMTP credentials are configured on the Send Email node, and untrusted input is mapped directly into the text or HTML body field.
How to fix Server-side Request Forgery (SSRF)? Upgrade n8n-nodes-base to version 1.121.42, 2.31.3, 2.32.1 or higher.
| <1.121.42>=2.0.0-rc.0 <2.31.3>=2.32.0 <2.32.1 |
Command Injectionn8n-nodes-base is a Base nodes of n8n
Affected versions of this package are vulnerable to Command Injection via the Git node. An attacker can execute arbitrary commands as the application process user by crafting a local repository to trigger git hooks during workflow execution.
Note: This is only exploitable if an authenticated user has rights to create and execute workflows using the Git node under default git security settings.
How to fix Command Injection? Upgrade n8n-nodes-base to version 1.121.42, 2.31.3, 2.32.1 or higher.
| <1.121.42>=2.0.0-rc.0 <2.31.3>=2.32.0 <2.32.1 |
SQL Injectionn8n-nodes-base is a Base nodes of n8n
Affected versions of this package are vulnerable to SQL Injection in the executeQuery. An attacker can execute arbitrary SQL commands by injecting untrusted expression data directly into a raw SQL query string.
Note: This is only exploitable if a workflow author embeds untrusted expression data in a raw SQL query.
How to fix SQL Injection? Upgrade n8n-nodes-base to version 1.121.42, 2.31.3, 2.32.1 or higher.
| <1.121.42>=2.0.0-rc.0 <2.31.3>=2.32.0 <2.32.1 |
SQL Injectionn8n-nodes-base is a Base nodes of n8n
Affected versions of this package are vulnerable to SQL Injection via the PostgresTrigger. An attacker can execute arbitrary SQL commands on the connected PostgreSQL database by supplying crafted input to identifier parameters, leading to full read and write access with the configured credential's privileges.
How to fix SQL Injection? Upgrade n8n-nodes-base to version 1.121.42, 2.31.3, 2.32.1 or higher.
| <1.121.42>=2.0.0-rc.0 <2.31.3>=2.32.0 <2.32.1 |
Authorization Bypass Through User-Controlled Keyn8n-nodes-base is a Base nodes of n8n
Affected versions of this package are vulnerable to Authorization Bypass Through User-Controlled Key via a mismatch between static validation and the runtime expression engine in external secrets handling. An attacker can access unauthorized secret values by embedding external secret references into credentials that bypass static validation, which are then resolved during workflow execution.
Note: This is only exploitable if an external secrets provider is configured and Advanced Permissions are enabled.
How to fix Authorization Bypass Through User-Controlled Key? Upgrade n8n-nodes-base to version 1.121.38, 2.27.4, 2.28.1 or higher.
| <1.121.38>=2.0.0 <2.27.4>=2.28.0 <2.28.1 |
Insufficiently Protected Credentialsn8n-nodes-base is a Base nodes of n8n
Affected versions of this package are vulnerable to Insufficiently Protected Credentials through the HTTP Request V3 pagination expression handling in packages/nodes-base/nodes/HttpRequest/V3/HttpRequestV3.node.ts and packages/core/src/execution-engine/node-execution-context/utils/request-helpers/pagination.ts. An authenticated user with access to a shared workflow can read credential-populated request headers by supplying a pagination expression that accesses $request.headers. When an HTTP Request node uses HTTP Header Auth credentials and pagination is enabled, the expression engine exposes the live request object with the secret-bearing headers attached. The attacker can copy that secret into item data and exfiltrate it through later workflow steps, exposing shared credentials to unauthorized workflow editors.
Notes
- This only applies when
N8N_EXPRESSION_ENGINE=vm is set; the advisory’s leak path depends on the VM-based expression runtime exposing $request during pagination evaluation.
- The affected workflow must use HTTP Header Auth on the paginated request; the secret shown in
$request.headers comes from credential-populated request headers, not from ordinary request data.
Workarounds
- Restrict workflow sharing to fully trusted users only.
- Avoid sharing credentials with use-only access to untrusted users on workflows that use HTTP Request nodes with pagination enabled.
How to fix Insufficiently Protected Credentials? Upgrade n8n-nodes-base to version 1.121.37, 2.27.3 or higher.
| <1.121.37>=2.0.0-rc.0 <2.27.3 |
SQL Injectionn8n-nodes-base is a Base nodes of n8n
Affected versions of this package are vulnerable to SQL Injection in the postgres and timescaleDb nodes, which incorporate node parameters into database queries without adequate parameterization. A user with permission to create or modify workflows can execute arbitrary SQL against the connected database, within the privileges of the configured database account, by supplying crafted parameters to either node. Exploitation requires an authenticated user with workflow edit permission, and the impact is bounded by the privileges of the account the node connects with.
How to fix SQL Injection? Upgrade n8n-nodes-base to version 2.25.2, 2.26.1 or higher.
| |
Unprotected Transport of Credentialsn8n-nodes-base is a Base nodes of n8n
Affected versions of this package are vulnerable to Unprotected Transport of Credentials in the SecurityScorecard node, whose report download operation attaches the SecurityScorecard API token to a request sent to a user-specified URL. A user with permission to create or modify workflows and access to a SecurityScorecard credential can exfiltrate that token by configuring the report download operation to target an attacker-controlled host, which then receives the token on the outbound request and defeats the domain restrictions set on the credential. Exploitation requires an authenticated user who holds a SecurityScorecard credential and can edit workflows.
How to fix Unprotected Transport of Credentials? Upgrade n8n-nodes-base to version 1.121.35, 2.25.2, 2.26.1 or higher.
| <1.121.35>=2.0.0-rc.0 <2.25.2>=2.26.0 <2.26.1 |
SQL Injectionn8n-nodes-base is a Base nodes of n8n
Affected versions of this package are vulnerable to SQL Injection through the prepareItems logic used by the findOneAndReplace, findOneAndUpdate, and update operations in GenericFunctions.ts and MongoDb.node.ts. An authenticated workflow editor can supply a non-scalar updateKey value, such as an object or array, enabling the node to build a MongoDB query filter from attacker-controlled input. This lets the attacker match unintended documents and overwrite them with content of their choosing. For users running affected workflows, this can corrupt or replace data in MongoDB collections without the node rejecting the malicious filter value.
Workarounds
- Limit workflow creation and editing permissions to fully trusted users only; this prevents authenticated workflow editors from supplying a malicious
updateKey value in the MongoDB node’s Find And Replace path.
- Disable the MongoDB node by adding
n8n-nodes-base.mongoDb to the NODES_EXCLUDE environment variable; this blocks use of the vulnerable MongoDB node operations entirely.
How to fix SQL Injection? Upgrade n8n-nodes-base to version 2.24.0 or higher.
| |
Prototype Pollutionn8n-nodes-base is a Base nodes of n8n
Affected versions of this package are vulnerable to Prototype Pollution via the Microsoft SQL node’s createTableStruct and related table-grouping logic in MicrosoftSql.node.ts and GenericFunctions.ts. An authenticated user who can create or modify workflows can trigger it by supplying a crafted table parameter such as __proto__, constructor, or prototype when configuring the Microsoft SQL node. That attacker-controlled table name is used as an object key in plain objects, allowing inherited properties on Object.prototype to be polluted process-wide for the life of the n8n server process. The result is application-wide validation failures and a broken n8n instance that remains non-functional until restarted.
Workarounds
- Limit workflow creation and editing permissions to fully trusted users only; this prevents untrusted authenticated users from supplying crafted
table values through the Microsoft SQL node.
- Disable the Microsoft SQL node by adding
n8n-nodes-base.microsoftSql to the NODES_EXCLUDE environment variable; this blocks the vulnerable node from being used to trigger the prototype-pollution path.
How to fix Prototype Pollution? Upgrade n8n-nodes-base to version 2.24.0 or higher.
| |
Exposure of Data Element to Wrong Sessionn8n-nodes-base is a Base nodes of n8n
Affected versions of this package are vulnerable to Exposure of Data Element to Wrong Session via the combineBySql Merge-node SQL Query path in combineBySql.ts. An authenticated attacker can poison the shared SQL sandbox by supplying a workflow that runs attacker-controlled SQL, causing prototype mutations to persist into later Merge SQL executions on the same instance. This allows the attacker to intercept data processed by other users’ workflows, breaking the isolation of workflow execution in multi-user n8n instances.
Notes
- This only affects multi-user n8n deployments where more than one user can create or execute workflows using Merge node SQL Query mode; single-user instances do not have the same cross-user persistence issue.
- The vulnerable path is the cached shared SQL sandbox used by repeated Merge SQL executions, so pollution can persist across later runs on the same instance rather than being limited to a single workflow execution.
Workarounds
- Limit workflow creation and editing permissions to fully trusted users only.
- Disable the Merge node by adding
n8n-nodes-base.merge to the NODES_EXCLUDE environment variable.
How to fix Exposure of Data Element to Wrong Session? Upgrade n8n-nodes-base to version 2.25.2, 2.26.5 or higher.
| |
Improper Handling of Highly Compressed Data (Data Amplification)n8n-nodes-base is a Base nodes of n8n
Affected versions of this package are vulnerable to Improper Handling of Highly Compressed Data (Data Amplification) via the Decompress operation in the Compression node. An attacker can cause the process to terminate and disrupt all workflows by sending a specially crafted compressed archive to a public webhook workflow, leading to memory exhaustion.
How to fix Improper Handling of Highly Compressed Data (Data Amplification)? Upgrade n8n-nodes-base to version 2.23.0 or higher.
| |
Cross-site Scripting (XSS)n8n-nodes-base is a Base nodes of n8n
Affected versions of this package are vulnerable to Cross-site Scripting (XSS) via the webhook verification endpoints in the Meta, WhatsApp and Microsoft Teams trigger nodes, where a query parameter is reflected into the HTTP response without proper sanitization or Content-Security-Policy headers. An attacker can execute arbitrary JavaScript in the context of a logged-in user's browser by convincing the user to visit a specially crafted URL.
How to fix Cross-site Scripting (XSS)? Upgrade n8n-nodes-base to version 2.24.0 or higher.
| |
Directory Traversaln8n-nodes-base is a Base nodes of n8n
Affected versions of this package are vulnerable to Directory Traversal via the ExecuteWorkflow node's localFile source option. An attacker can enumerate arbitrary files on the server host and in some instances can achieve arbitrary code execution by uploading a specially crafted file to the host.
How to fix Directory Traversal? Upgrade n8n-nodes-base to version 2.19.3 or higher.
| |
Prototype Pollutionn8n-nodes-base is a Base nodes of n8n
Affected versions of this package are vulnerable to Prototype Pollution via the pagination parameter in the HTTP Request node. An attacker can execute arbitrary code on the instance by achieving global prototype pollution and chaining this with other techniques. This is only exploitable if the attacker is an authenticated user with permission to create or modify workflows.
How to fix Prototype Pollution? Upgrade n8n-nodes-base to version 2.20.4, 2.21.1 or higher.
| |
Prototype Pollutionn8n-nodes-base is a Base nodes of n8n
Affected versions of this package are vulnerable to Prototype Pollution in the Xml class, which implements an XML node. A user with permission to create or modify workflows can achieve remote code execution on the host system.
Note: This is a bypass of the fix for the vulnerability described in CVE-2026-42232.
How to fix Prototype Pollution? Upgrade n8n-nodes-base to version 2.20.4, 2.21.1 or higher.
| |
SQL Injectionn8n-nodes-base is a Base nodes of n8n
Affected versions of this package are vulnerable to SQL Injection via the MySQL, PostgreSQL, and Microsoft SQL nodes due to improper escaping of identifier values. An attacker can execute arbitrary SQL commands by supplying specially crafted table or column names through node configuration parameters.
How to fix SQL Injection? Upgrade n8n-nodes-base to version 2.4.0 or higher.
| |
Exposure of Sensitive System Information to an Unauthorized Control Spheren8n-nodes-base is a Base nodes of n8n
Affected versions of this package are vulnerable to Exposure of Sensitive System Information to an Unauthorized Control Sphere due to insufficient restrictions in the Python Code node sandbox. An attacker can access sensitive files or execute arbitrary code by escaping the sandbox environment.
How to fix Exposure of Sensitive System Information to an Unauthorized Control Sphere? Upgrade n8n-nodes-base to version 2.7.0 or higher.
| |
Protection Mechanism Failuren8n-nodes-base is a Base nodes of n8n
Affected versions of this package are vulnerable to Protection Mechanism Failure via the Python Code node. An attacker can execute arbitrary code outside the intended security boundary by leveraging authenticated access and enabling Task Runners with Python support. This is only exploitable if Task Runners are enabled (N8N_RUNNERS_ENABLED=true), Python support is enabled (N8N_PYTHON_ENABLED=true), and the Code Node is enabled (default: true).
How to fix Protection Mechanism Failure? Upgrade n8n-nodes-base to version 2.3.0 or higher.
| |
Remote Code Execution (RCE)n8n-nodes-base is a Base nodes of n8n
Affected versions of this package are vulnerable to Remote Code Execution (RCE) due to insufficient isolation in the Python Code Node that uses Pyodide. An authenticated attacker with permissions to create or modify workflows can execute arbitrary commands on the host system by creating or modifying workflows with malicious code.
How to fix Remote Code Execution (RCE)? Upgrade n8n-nodes-base to version 2.0.0-rc.1 or higher.
| |
Command Injectionn8n-nodes-base is a Base nodes of n8n
Affected versions of this package are vulnerable to Command Injection via the Execute Command node. An attacker can execute arbitrary commands on the host system by leveraging access to an authenticated user account, potentially leading to data exfiltration, service disruption, or full system compromise.
Note:
This is only exploitable if the Execute Command node is enabled and not all user accounts are strictly controlled and trusted.
This issue does not impact n8n.cloud.
As per maintainers' memo: "No code changes have been made to alter the behavior of the Execute Command node. The recommended mitigation is to disable the node by default in environments where it is not explicitly required. Future n8n versions may change the default availability of this node."
##Workaround
This vulnerability can be mitigated by disabling the Execute Command node before n8n start using the environment variable: export NODES_EXCLUDE: "[\"n8n-nodes-base.executeCommand\"]".
How to fix Command Injection? There is no fixed version for n8n-nodes-base.
| |