SquidDev-CC/cloud-catcher

[bug] [severe] Able to boot everyone off of Cloud Catcher at once

Merith-TK opened this issue · 4 comments

image
image

Set up two computers,
open two tabs
connect cloud catcher to each computer on both tabs

open an EMPTY file in one computer, populate file with content exceeding max size Cloud Catcher can open (in this case i used this pastebin)
https://pastebin.com/raw/UFvjc1bw

and save file

Every computer connected to Cloud Catcher on that server will be booted

2022-07-27 19:00:30 RangeError: Max payload size exceeded
2022-07-27 19:00:30  at Receiver.haveLength (/src/node_modules/ws/lib/receiver.js:306:16)
2022-07-27 19:00:30  at Receiver.getPayloadLength64 (/src/node_modules/ws/lib/receiver.js:292:17)
2022-07-27 19:00:30  at Receiver.startLoop (/src/node_modules/ws/lib/receiver.js:136:22)
2022-07-27 19:00:30  at Receiver._write (/src/node_modules/ws/lib/receiver.js:77:10)
2022-07-27 19:00:30  at writeOrBuffer (node:internal/streams/writable:395:12)
2022-07-27 19:00:30  at Receiver.Writable.write (node:internal/streams/writable:340:10)
2022-07-27 19:00:30  at Socket.socketOnData (/src/node_modules/ws/lib/websocket.js:875:35)
2022-07-27 19:00:30  at Socket.emit (node:events:378:20)
2022-07-27 19:00:30  at Socket.EventEmitter.emit (node:domain:470:12)
2022-07-27 19:00:30  at addChunk (node:internal/streams/readable:313:12)
2022-07-27 19:00:30 Emitted 'error' event on WebSocket instance at:
2022-07-27 19:00:30  at Receiver.receiverOnError (/src/node_modules/ws/lib/websocket.js:780:13)
2022-07-27 19:00:30  at Receiver.emit (node:events:378:20)
2022-07-27 19:00:30  at Receiver.EventEmitter.emit (node:domain:470:12)
2022-07-27 19:00:30  at emitErrorNT (node:internal/streams/destroy:188:8)
2022-07-27 19:00:30  at emitErrorCloseNT (node:internal/streams/destroy:153:3)
2022-07-27 19:00:30  at processTicksAndRejections (node:internal/process/task_queues:81:21) {
2022-07-27 19:00:30    [Symbol(status-code)]: 1009
2022-07-27 19:00:30  }

Logs, for future reference - this is what is causing the container to restart.

This can be extended to take down the socket completely, allowing no new connections.

Yeah, well that wasn't helpful was it!

Fixed in ede5b3b.