Miggo Logo

CVE-2018-25074: skeemas Inefficient Regular Expression Complexity vulnerability

7.5

CVSS Score
3.1

Basic Information

EPSS Score
0.1578%
Published
1/11/2023
Updated
10/20/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:H
Package NameEcosystemVulnerable VersionsFirst Patched Version
skeemasnpm< 1.2.51.2.5

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The vulnerability is clearly tied to the 'uri' validator regex shown in the commit diff. The patch modified the regex pattern from '(/?(?:[a-z0-9-.~!$&'()*+,;=:@]|%[0-9A-F]{2})+)' to '(/?(?:[a-z0-9-.~!$&'()+,;=:@]|%[0-9A-F]{2})(?:[...]))', specifically addressing the inefficient quantifier usage. This regex is part of the format validators defined in base.js, which are used for schema validation. The CWE-1333 classification and commit message confirming ReDoS resolution provide high confidence in this assessment.

Vulnerable functions

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

WAF Protection Rules

WAF Rule

* vuln*r**ility w*s *oun* in Pr*st*ul sk**m*s *n* *l*ssi*i** *s pro*l*m*ti*. T*is issu* *****ts som* unknown pro**ssin* o* t** *il* v*li**tors/**s*.js. T** m*nipul*tion o* t** *r*um*nt uri l***s to in***i*i*nt r**ul*r *xpr*ssion *ompl*xity. T** n*m*

Reasoning

T** vuln*r**ility is *l**rly ti** to t** 'uri' v*li**tor r***x s*own in t** *ommit *i**. T** p*t** mo*i*i** t** r***x p*tt*rn *rom '(\/?(?:[*-z*-*-._~!$&'()*+,;=:@]|%[*-**-*]{*})+)' to '(\/?(?:[*-z*-*-._~!$&'()*+,;=:@]|%[*-**-*]{*})(?:[...])*)', sp**