Summary
n8n: Authenticated Users Can Exhaust Temporary Disk Storage via Data-Table File Uploads
Advisory details
Impact
An authenticated user can repeatedly upload files to the data-table upload endpoint, bypassing the per-request quota check, which does not account for files already written to the shared temporary directory. This causes temporary files to accumulate on disk until the periodic cleanup runs, potentially exhausting available disk space on the host.
Patches
Users should upgrade to the patched version once available 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.
- Set
uploadMaxFileSizeto a low value to limit individual upload size. - Monitor and alert on disk usage in the n8n temporary upload directory.
These workarounds do not fully remediate the risk and should only be used as short-term mitigation measures.
References
- https://github.com/advisories/GHSA-w867-jm58-p9pv
- https://github.com/n8n-io/n8n/security/advisories/GHSA-w867-jm58-p9pv
- https://nvd.nist.gov/vuln/detail/CVE-2026-58661
- https://github.com/n8n-io/n8n/releases/tag/n8n@1.123.58
- https://github.com/n8n-io/n8n/releases/tag/n8n@2.28.0
- https://www.vulncheck.com/advisories/n8n-disk-space-exhaustion-via-data-table-file-upload-endpoint
Related vulnerabilities
All Supply chain →- MEDIUMCVE-2026-71486
vLLM: Derender endpoints decode caller-supplied GenerateResponse token IDs without output bounds
- HIGHCVE-2026-79921
amqp091-go has a Potential Memory Exhaustion/Protocol Violation via Broker-Controlled Oversized Payload
- HIGHCVE-2026-67446
Mailpit: Thumbnail generation decodes unbounded image dimensions before scaling
- MEDIUMCVE-2026-82562
qs array-limit bypass via bracket-key comma parsing
- MEDIUMGHSA-8423-8fgw-73vq
tornado: multipart split() creates huge temp list before max_parts check -> memory amplification DoS (httputil.py:34)
- MEDIUMCVE-2026-73228
Django REST framework: Potential bypass of Django `DATA_UPLOAD_MAX_MEMORY_SIZE` when parsing oversized JSON and urlencoded request bodies via DRF `request.data`