n8n versions before 2.30.1 contain a privilege escalation vulnerability in the AI Agents feature. The vulnerability arises because the node-execution tool does not enforce proper authorization checks. As a result, a Project Viewer user can escalate privileges by interacting with an agent that has node tools enabled, allowing execution of arbitrary nodes and unauthorized access to credential secrets. This advisory is a duplicate and has been withdrawn in favor of GHSA-x5vx-c2c8-m3w9.
n8n before versions 1.123.64, 2.29.8, and 2.30.1 contains a stored DOM cross-site scripting (XSS) vulnerability in the Resource Locator component. The vulnerability occurs because the cachedResultUrl parameter is passed to window.open() without validating the URL scheme. An attacker with workflow creation or editing privileges can embed a javascript: scheme in cachedResultUrl, causing malicious scripts to execute in the browser of a user who opens the crafted workflow.
n8n versions before 2.30.1 and 2.29.8 have a vulnerability where all Public API key scopes are assigned to JWTs issued via the Token Exchange module regardless of the user's role. This allows a low-privileged user with a valid external JWT to perform administrator-only Public API actions such as role escalation, user creation, and deletion. If unverified Community Package installation is enabled, remote code execution is possible. This advisory is a duplicate and has been withdrawn in favor of GHSA-777w-rpr6-c52h.
n8n versions before 1.123.64 contain a server-side request forgery (SSRF) vulnerability in the dynamic-node-parameters endpoints. This vulnerability allows authenticated attackers to supply absolute URLs that override baseURL restrictions, enabling the n8n server to make HTTP requests to arbitrary internal network targets when SSRF protection is disabled. This advisory is a duplicate and has been withdrawn in favor of GHSA-9w78-79q7-r4fp.
n8n contains a sanitizer bypass vulnerability in its legacy expression evaluator's computed-member handler. An authenticated user with workflow create or modify permissions can exploit this flaw to bypass the sanitizer and execute code at the host level with the privileges of the n8n process. The legacy expression engine is the default in affected versions. This vulnerability has been fixed in n8n versions 1.123.64, 2.29.8, and 2.30.1.
n8n versions before 1.123.64, 2.29.8, and 2.30.1 have a privilege escalation vulnerability in Enterprise SSO instance-role provisioning. The vulnerability allows an SSO-authenticated user to be provisioned as the instance owner if the IdP-asserted role claim resolves to global:owner. This grants full administrative control over workflows, credentials, users, and instance configuration. Exploitation requires Enterprise SSO to be configured, instance-role provisioning enabled via N8N_SSO_SCOPES_PROVISION_INSTANCE_ROLE (disabled by default), and attacker control over the instance-role claim value issued by the IdP. This advisory is a duplicate and has been withdrawn in favor of GHSA-35q8-9mj6-wjmf.
A vulnerability in n8n versions from 2.27.0 up to but not including 2.29.8 and 2.30.x before 2.30.1 allows member-level users to execute other users' MCP Server Trigger workflows due to missing OAuth authorization checks. This flaw permits a member-level user to register an OAuth client, self-approve consent for another user's workflow, and obtain a valid token, enabling execution of workflows in the owner's context and access to their data. The advisory is a duplicate and has been withdrawn in favor of GHSA-q5xf-xhwf-cwqf. No patch links are provided in this record.
n8n versions before 1.123.64, 2.29.8, and 2.30.1 have a vulnerability in the GraphQL node where the "Allowed HTTP Request Domains" restriction on HTTP-based credentials is not enforced. This allows an authenticated user with permission to create or edit workflows to direct the node to an endpoint they control, potentially exfiltrating restricted credentials. The issue affects only credentials configured with "Allowed HTTP Request Domains" and usable by non-owner users. This advisory is a duplicate and has been withdrawn in favor of GHSA-gq66-9cw5-j5jm.
n8n versions before 2.28.0 (and before 2.27.4 on the 2.27.x branch) expose an unauthenticated DELETE endpoint that allows cancellation of any user's active test webhook by knowing the workflow ID. This vulnerability only affects test webhook sessions and does not impact production webhooks, persistent workflow state, or stored data. The advisory is a duplicate and has been withdrawn in favor of GHSA-33q9-f52j-gc75.
n8n versions before 1.123.64, 2.29.8, and 2.30.1 contain a credential exposure vulnerability: when configured with a Google Service Account key, the full PEM private key was mistakenly placed in the JWT header's kid field (intended only for a key identifier). Because JWT headers are Base64-encoded rather than encrypted, the private key could be recovered by anything that logged or inspected the JWT. An attacker who obtained the key could impersonate the service account and access or modify any Google Cloud resource it was authorized to use. Only instances using Google Service Account credentials are affected.
n8n before 1.123.64, 2.29.8, and 2.30.1 contains a TOCTOU race condition in the Git node's clone operation that allows authenticated users to bypass path restrictions by swapping a directory for a symlink after the path is validated but before the clone runs. This lets an attacker plant a crafted repository in the community node directory, which n8n loads as a custom node on the next restart, executing arbitrary JavaScript on the server. Both self-hosted and cloud instances are affected.
n8n before 1.123.64, 2.x before 2.29.8, and before 2.30.1 contains a DOM-based cross-site scripting vulnerability in the HTML preview, which renders execution output into an iframe srcdoc without the sandbox attribute. A sanitizer bypass allows injected script to execute same-origin as the editor. When a victim opens the preview, the script can call authenticated APIs using the victim's session. An account with global:member privileges can exploit the issue.
n8n before 1.123.64, 2.29.8, and 2.30.1 fails to enforce the "Allowed HTTP Request Domains" restriction on HTTP-based credentials (Header Auth, Basic Auth, Query Auth, OAuth) in the GraphQL node, unlike the HTTP Request node. An authenticated user able to create or edit workflows can point the node's endpoint at a server they control and exfiltrate restricted credentials. Only instances where a credential has "Allowed HTTP Request Domains" configured and is usable by non-owner users are affected.
n8n before 2.30.1 and 2.29.8 assigns all Public API key scopes to JWTs issued through the Token Exchange module regardless of the acting user's role. On instances where the Token Exchange feature and Public API are enabled, a low-privileged user who can obtain a valid external JWT trusted by a configured issuer can use the resulting access token to invoke administrator-only Public API operations such as role escalation, user creation, and user deletion (role escalation requires an Advanced Permissions license), and, when unverified Community Package installation is enabled, achieve remote code execution.
n8n before 2.29.8 and 2.30.x before 2.30.1 (affected from 2.27.0, when the OAuth 2.1 consent and token-issuance flow was introduced) does not verify that the authenticated user has access to the workflow referenced as the OAuth resource. On instances with at least one active MCP Server Trigger workflow configured with n8n OAuth2 authentication, a member-level user can register an OAuth client, self-approve consent for another user's workflow, and obtain a valid token. The workflow then runs in the owner's project context with the owner's stored credentials, and the attacker can set tool inputs and read outputs (potentially including data from the owner's connected integrations), breaking user and project isolation.
n8n versions before 1.123.64, 2.29.8, and 2.30.1 contain a server-side request forgery vulnerability in the dynamic-node-parameters endpoints that lack authorization scopes. Authenticated attackers can supply absolute URLs in routing configuration to override baseURL restrictions and make the n8n server issue HTTP requests to arbitrary internal targets when SSRF protection is disabled.
n8n before 1.123.64, 2.29.8, and 2.30.1 contains a stored DOM cross-site scripting vulnerability in the Resource Locator component, which passes the workflow-persisted cachedResultUrl parameter to window.open() without scheme validation. An attacker with workflow creation/editing privileges can craft a workflow with a malicious (e.g., javascript:) scheme in cachedResultUrl; when a victim opens the crafted workflow and interacts with external links, the payload executes in the victim's browser.
n8n contains a sanitizer bypass vulnerability in the legacy expression evaluator's computed-member handler. An authenticated user with workflow create or modify permissions can craft a malicious expression to bypass the sanitizer and achieve host-level code execution as the n8n process. The legacy expression engine is the default in affected versions. Fixed in n8n 1.123.64, 2.29.8, and 2.30.1.
n8n before 2.29.8 and 2.30.x before 2.30.1 does not enforce shell sandbox restrictions on Linux and Windows in the @n8n/computer-use package (sandboxing was applied only on macOS). Shell commands executed by the tool run without any filesystem or network restrictions, allowing unrestricted access to the host filesystem and network from within the computer-use agent process. This issue only affects deployments where the @n8n/computer-use package is explicitly installed and running; standard n8n installations are not affected.
n8n versions before 1.123.64 fail to properly mask custom HTTP header credentials in LLM sub-node execution data, writing plaintext API keys and secrets to workflow execution records. Authenticated users with access to execution data can read exposed header values and credentials that persist in the database and can be exported.