|1 via 1 paths|
Find, fix and prevent vulnerabilities in your code.
- Vulnerable module: mime
- Introduced through: email@example.com
Introduced through: firstname.lastname@example.org › email@example.com › firstname.lastname@example.orgRemediation: Upgrade to email@example.com.
mime is a comprehensive, compact MIME type module.
Affected versions of this package are vulnerable to Regular Expression Denial of Service (ReDoS). It uses regex the following regex
/.*[\.\/\\]/ in its lookup, which can cause a slowdown of 2 seconds for 50k characters.
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|
mime to version 1.4.1, 2.0.3 or higher.