Prototype PollutionAffected versions of this package are vulnerable to Prototype Pollution via workflow credential handling in the workflow API and authentication guard code. An authenticated user with workflow:create permission can save, update, or import a crafted workflow that pollutes Object.prototype, then trigger unauthenticated requests to be treated as authenticated by supplying polluted request state. This exposes privileged endpoints such as user and project listings to unauthenticated callers, leaking account details including email, role, and MFA status, and can corrupt global state so parts of the instance become unresponsive until restart.
Notes
- The workflow credential handling issue spans both saved workflows and imported workflows, so instances that accept user-supplied workflow JSON are in scope even if the attacker never edits a workflow through the UI.
- The advisory’s unauthenticated enumeration impact is broader than user records: the maintainer note says all projects on the instance may be disclosed as well, so deployments that expose project-scoped data APIs inherit the same leak path.
Workarounds
- Restrict workflow creation and editing permissions to fully trusted users only; this limits who can submit crafted workflows that trigger the prototype-pollution path.
- Restrict network access to the n8n instance to trusted users only; this reduces the chance that an attacker can reach the workflow API and exploit the issue.
How to fix Prototype Pollution? Upgrade @n8n/db to version 1.28.1 or higher.
| |
Authorization Bypass Through User-Controlled KeyAffected versions of this package are vulnerable to Authorization Bypass Through User-Controlled Key via the variables API endpoint when an authenticated user with a valid API key scoped to variable:list supplies an arbitrary projectId query parameter. An attacker can access sensitive variables in projects they are not members of by bypassing project membership checks.
Note: This is only exploitable if the deployment is a team instance with multiple projects and the variables feature is enabled.
How to fix Authorization Bypass Through User-Controlled Key? Upgrade @n8n/db to version 1.17.2, 1.18.1 or higher.
| |