Tuesday, 2 May 2017

Socket.io RangeError: Array buffer allocation failed

Sending large files through socket.io crashes server with message

server > RangeError: Array buffer allocation failed               │
server >     at Buffer.Uint8Array (native)                        │
server >     at FastBuffer (buffer.js:12:5)                       │
server >     at createUnsafeBuffer (buffer.js:39:12)              │
server >     at arrayBufferToBuffer (/home/htdocs/socket/server/  │
node_modules/engine.io-parser/lib/index.js:371:16)                │
server >     at Object.exports.decodePacket (/home/htdocs/socket  │
/server/node_modules/engine.io-parser/lib/index.js:159:12)        │
server >     at WebSocket.Transport.onData (/home/htdocs/socket/  │
server/node_modules/engine.io/lib/transport.js:116:24)            │
server >     at WebSocket.onData (/home/htdocs/socket/server/nod  │
e_modules/engine.io/lib/transports/websocket.js:79:30)            │
server >     at onServerMessage (/home/htdocs/socket/server/node  │
_modules/uws/uws.js:18:15)

So it's "open" vulnerability for my application, filtering files by size on client side isn't possible, because client written on JavaScript, and user can easily modify it, is it possible to somehow disable accepting large request node.js/socket.io side?



via MyMomSaysIamSpecial

No comments:

Post a Comment