From 3ee1d71b79c47a80e7d43e4cd7e7c1012589490e Mon Sep 17 00:00:00 2001 From: 4gray Date: Sat, 14 Feb 2026 16:11:35 +0100 Subject: [PATCH] fix(remote-control): add payload size limit handling for remote control requests --- .../src/app/events/remote-control.events.ts | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/apps/electron-backend/src/app/events/remote-control.events.ts b/apps/electron-backend/src/app/events/remote-control.events.ts index e21858224..366284ade 100644 --- a/apps/electron-backend/src/app/events/remote-control.events.ts +++ b/apps/electron-backend/src/app/events/remote-control.events.ts @@ -272,10 +272,27 @@ class RemoteControlEvents { callback: (body: any) => void ): void { let data = ''; + let totalSize = 0; + let payloadTooLarge = false; + const MAX_BODY_SIZE = 10 * 1024; // 10KB + req.on('data', (chunk: Buffer) => { + if (payloadTooLarge) return; + + totalSize += chunk.length; + if (totalSize > MAX_BODY_SIZE) { + payloadTooLarge = true; + res.writeHead(413, { 'Content-Type': 'application/json' }); + res.end(JSON.stringify({ error: 'Payload too large' })); + req.destroy(); + return; + } + data += chunk.toString(); }); req.on('end', () => { + if (payloadTooLarge) return; + if (!data) { callback({}); return;