flat: Denial of Service über unflatten() mit numerischen Array-Index-Schlüsseln
Die npm-Bibliothek flat für JavaScript bis einschliesslich Version 6.0.1 erlaubt es Angreifern, über unbegrenzte numerische Schlüssel in unflatten() riesige, spärlich belegte Arrays zu erzeugen. Angreifer können flachgeklopfte Schlüssel wie a.4294967294 übergeben, wodurch die Iteration mit forEach, Spread oder JSON.stringify die Event-Loop von Node.js blockiert. Relevant ist dies nur, wenn eine Anwendung vom Angreifer kontrollierte Schlüssel an unflatten() übergibt, und die Auswirkung beschränkt sich auf die Verfügbarkeit.
hughsk · flat
