NetSight
medium5.3

CVE-2021-29060

Regular Expression Denial of Service (ReDOS)

Impact

In the npm package `color-string`, there is a ReDos (Regular Expression Denial of Service) vulnerability regarding an exponential time complexity for linearly increasing input lengths for `hwb()` color strings. Strings reaching more than 5000 characters would see several milliseconds of processing time; strings reaching more than 50,000 characters began seeing 1500ms (1.5s) of processing time. The cause was due to a the regular expression that parses hwb() strings - specifically, the hue value - where the integer portion of the hue value used a 0-or-more quantifier shortly thereafter followed by a 1-or-more quantifier. This caused excessive backtracking and a cartesian scan, resulting in exponential time complexity given a linear increase in input length.

Affected packages

EcosystemPackageAffectedFixed in
npmcolor-string< 1.5.51.5.5

Affected products

VendorProductAffected versions
Color-String ProjectColor-String
before 1.5.5

Weakness classification

References