The use of Buffer.allocUnsafe() and Buffer.allocUnsafeSlow() in the task runner allowed untrusted code to allocate uninitialized memory. Such uninitialized buffers could contain residual data from within the same Node.js process (for example, data from prior requests, tasks, secrets, or tokens), resulting in potential information disclosure.
Only authenticated users are able to execute code through Task Runners.
This issue affected any deployment in which both of the following conditions were met:
N8N_RUNNERS_ENABLED=true (default: false)Access to unsafe Buffer functions has been removed from the task runner sandbox. All buffer allocations are now zero-filled by default.
Changes introduced in this patch include:
Buffer.alloc (which zero-fills) operations where applicableIf an immediate upgrade cannot be applied, the following hardening steps are recommended:
n8n-nodes-base.code to the NODES_EXCLUDE environment variableBuffer.alloc() vs Buffer.allocUnsafe() — background on zero-filled vs uninitialized allocations{
"cwe_ids": [
"CWE-200",
"CWE-668"
],
"github_reviewed": true,
"github_reviewed_at": "2026-02-04T17:48:11Z",
"nvd_published_at": "2026-02-04T17:16:08Z",
"severity": "HIGH"
}