Description
var a=[]
a[1000000000]=1
console.log(a)
This ends up with a FATAL ERROR: process out of memory
. Wouldn't expect this...
Note that many applications use console.log
for logging their stuff, and this can lead to a DoS attack: for example, when an user-specified JSON {"1000000000":"a"}
is merged with some pre-existing array and then printed on console. Having an upper bound on printed Array
items in console.log
seems like an easy fix for this.
I originally reported this to security@nodejs.org
, but I got this response:
I don't think we consider this a security issue (it's known and documented) but it's arguably a quality-of-implementation issue. If you'd like to pursue this further, can you file an issue (...)?
So I'm opening an issue 😃
Btw, I can't see this documented anywhere in the console docs, but maybe I'm missing something?