n8n: Unauthenticated Unbounded OAuth Client Persistence via the Authorize Endpoint
What fixes it
No source in this snapshot names a fixed version.
Description
Impact
The unauthenticated authorization endpoint resolved a client by URL path but stored the caller's raw identifier as the row key, so values differing only in their query string each created a new record. Those records were marked first-party, the flag the registration cap excludes, and no size limit, expiry or deletion path applied. A caller with no account can grow that table without bound until the disk fills, and the rows outlive the resource they name.
Patches
The issue has been fixed in n8n versions 2.42.1 and 2.41.4. 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 network access to the n8n instance to trusted users and systems only.
- Deactivate or reconfigure any workflows using Form Trigger or Chat Trigger nodes with
n8nUserAuthauthentication until the instance is patched. - Monitor database size for unexpected growth and set filesystem-level disk usage alerts.
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 2
- n8n, npm< 2.42.1GitHub
- n8n, npm< 2.41.4GitHub