Résumé
n8n: Prototype Pollution via Dot-Notation Field Names Leads To Instance-Wide Denial of Service
Détails de l’avis
Impact
The Edit Fields (Set) node assigned output fields through a dot-notation path setter without restricting the field name, so an authenticated user could name a field after an inherited built-in method path and corrupt a shared global in the main Node.js process. Because that global was used on the request-authentication path, the instance then failed every authenticated request, causing a instance-wide denial of service for all users until the process was restarted.
Patches
The issue has been fixed in n8n versions 1.123.67, 2.31.5, and 2.32.1. 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.
- Disable or restrict workflow creation and execution permissions for untrusted users.
- Monitor for unexpected process-wide HTTP 500 errors and restart the process promptly if they occur.
These workarounds do not fully remediate the risk and should only be used as short-term mitigation measures.
Références
- https://github.com/advisories/GHSA-xwx6-jjhv-84p8
- https://github.com/n8n-io/n8n/security/advisories/GHSA-xwx6-jjhv-84p8
- https://github.com/n8n-io/n8n/commit/f69dfc6dd2178a14ea1624d2e1d403c2e755042f
- https://github.com/n8n-io/n8n/releases/tag/n8n@1.123.67
- https://github.com/n8n-io/n8n/releases/tag/n8n@2.31.5
- https://github.com/n8n-io/n8n/releases/tag/n8n@2.32.1
Vulnérabilités liées
Tout Supply chain →- HIGHCVE-2026-63376
toml-node: Prototype Pollution Leads to `Object.prototype` Corruption via `__proto__` Key-Path Desynchronization
- HIGHCVE-2026-82404
TOON: Prototype pollution when decoding untrusted TOON input
- HIGHCVE-2026-71553
ApostropheCMS: 2nd-order prototype pollution via PATCH leading to single-request persistent DoS
- MEDIUMGHSA-cp6q-959q-f8rh
Tiptap: mergeAttributes() turns an own __proto__ key into inherited executable DOM attributes
- MEDIUMCVE-2026-81887
Livewire DOM-based cross-site scripting during client-side state handling
- HIGHCVE-2026-73088
Browserslist: Uncaught crash / prototype write via untrusted browserslist-stats.json custom stats (normalizeStats)