GitHub Advisoryadvisory · npm

GHSA-257v-vj4p-3w2h Regular Expression Denial of Service (ReDOS)

MEDIUM Published 2021-06-22 Modified 2021-06-30 Official page ↗
Aliases
CVE-2021-29060
Ecosystem
npm
Packages
color-string
Severity
Moderate
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
Weaknesses
CWE-770
Reviewed
2021-06-21

Affected packages

• npm color-string: < 1.5.5 → fixed in 1.5.5

Description

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.

Related

Alias · CVE (1)

  • CVE-2021-29060 A Regular Expression Denial of Service (ReDOS) vulnerability was discovered in Color-String version 1.5.5 and below which occurs when the… vulnerability

Weakness · CWE (1)

  • CWE-770 Allocation of Resources Without Limits or Throttling weakness

References