Executive brief
OpenClaw's Canvas Host component serves files over HTTP without limiting file size or implementing streaming responses. An attacker can open multiple concurrent connections to request large files and intentionally stop reading the responses, causing the application to buffer entire files in memory and exhaust system resources, disrupting legitimate service availability.
Technical details
The Canvas Host route handler uses readFile() to load entire requested files into memory before sending responses, with no file size limits, streaming implementation, or request concurrency controls. An attacker can exploit this by making multiple slow-read GET requests to large Canvas-hosted files, forcing large buffers to accumulate in the Node.js process and triggering denial of service. The vendor was contacted early but the suggested fix ("streaming/size-limit") was not shipped in the latest affected version (2026.9.5).
Affected products
- OpenClaw OpenClaw up to 2026.9.5
Timeline
- 2026-09-20: disclosed
- other: Exploit published