Skip to content

Releases: Qix-/color-string

1.5.5 (Patch/Security Release) - hwb() ReDos patch (low-severity)

05 Mar 18:01
Compare
Choose a tag to compare

Release notes copied verbatim from the commit message, which can be found here: 0789e21

Discovered by Yeting Li, c/o Colin Ife via Snyk.io.

A ReDos (Regular Expression Denial of Service) vulnerability
was responsibly disclosed to me via email by Colin on
Mar 5 2021 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.

Thank you Yeting Li and Colin Ife for bringing this to my
attention in a secure, responsible and professional manner.

A CVE will not be assigned for this vulnerability.

1.5.4 (Patch Release)

09 Oct 07:35
Compare
Choose a tag to compare
  • Removes rounding of alpha values in RGBA hex (#rrggbbaa) and condensed-hex (#rgba) parsers, which caused certain unique inputs to result in identical outputs (see https://github.com/qix-/color/issues/174).

0.3.0

19 Feb 07:22
Compare
Choose a tag to compare
  • Fixed: HSL alpha channel (#16)
  • Fixed: ability to parse signed number (#15)
  • Removed: component.json
  • Removed: browser build

- Added: license field to package.json (#17)

Check out commit logs for earlier releases