Miggo Logo

CVE-2021-23364: Regular Expression Denial of Service in browserslist

5.3

CVSS Score
3.1

Basic Information

EPSS Score
0.56328%
Published
5/24/2021
Updated
8/17/2023
KEV Status
No
Technology
TechnologyJavaScript

Technical Details

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
Package NameEcosystemVulnerable VersionsFirst Patched Version
browserslistnpm>= 4.0.0, < 4.16.54.16.5

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The vulnerability stemmed from regex patterns that allowed ambiguous digit matching. The fix in commit c091916 split these into specific alternatives (\d+|\d*.\d+), indicating the original patterns in version range comparisons and date parsing were vulnerable. The QUERIES array entries for 'since', 'cover', and version comparisons contained the problematic regexes that could be exploited via specially crafted queries to trigger ReDoS.

Vulnerable functions

Only Mi**o us*rs **n s** t*is s**tion

WAF Protection Rules

WAF Rule

T** p**k*** *rows*rslist *rom *.*.* *n* ***or* *.**.* *r* vuln*r**l* to R**ul*r *xpr*ssion **ni*l o* S*rvi** (R**oS) *urin* p*rsin* o* qu*ri*s.

Reasoning

T** vuln*r**ility st*mm** *rom r***x p*tt*rns t**t *llow** *m*i*uous *i*it m*t**in*. T** *ix in *ommit ******* split t**s* into sp**i*i* *lt*rn*tiv*s (\*+|\**\.\*+), in*i**tin* t** ori*in*l p*tt*rns in v*rsion r*n** *omp*risons *n* **t* p*rsin* w*r*