|1 via 1 paths|
Find, fix and prevent vulnerabilities in your code.
- Vulnerable module: clean-css
- Introduced through: email@example.com
Introduced through: firstname.lastname@example.org › email@example.comRemediation: Upgrade to firstname.lastname@example.org.
clean-css is a fast and efficient CSS optimizer for Node.js platform and any modern browser.
Affected versions of this package are vulnerable to Regular Expression Denial of Service (ReDoS). attacks. This can cause an impact of about 10 seconds matching time for data 70k characters long.
- Feb 15th, 2018 - Initial Disclosure to package owner
- Feb 20th, 2018 - Initial Response from package owner
- Mar 6th, 2018 - Fix issued
- Mar 7th, 2018 - Vulnerability published
Let’s take the following regular expression as an example:
regex = /A(B|C+)+D/
This regular expression accomplishes the following:
AThe string must start with the letter 'A'
(B|C+)+The string must then follow the letter A with either the letter 'B' or some number of occurrences of the letter 'C' (the
+matches one or more times). The
+at the end of this section states that we can look for one or more matches of this section.
DFinally, we ensure this section of the string ends with a 'D'
The expression would match inputs such as
It most cases, it doesn't take very long for a regex engine to find a match:
From there, the number of steps the engine must use to validate a string just continues to grow.
|String||Number of C's||Number of steps|
clean-css to version 4.1.11 or higher.