CVE Vulnerabilities

CVE-2018-7158

Incorrect Regular Expression

Published: May 17, 2018 | Modified: Nov 21, 2024
CVSS 3.x
7.5
HIGH
Source:
NVD
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
CVSS 2.x
5 MEDIUM
AV:N/AC:L/Au:N/C:N/I:N/A:P
RedHat/V2
RedHat/V3
5.9 MODERATE
CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H
Ubuntu
LOW

The path module in the Node.js 4.x release line contains a potential regular expression denial of service (ReDoS) vector. The code in question was replaced in Node.js 6.x and later so this vulnerability only impacts all versions of Node.js 4.x. The regular expression, splitPathRe, used within the path module for the various path parsing functions, including path.dirname(), path.extname() and path.parse() was structured in such a way as to allow an attacker to craft a string, that when passed through one of these functions, could take a significant amount of time to evaluate, potentially leading to a full denial of service.

Weakness

The product specifies a regular expression in a way that causes data to be improperly matched or compared.

Affected Software

Name Vendor Start Version End Version
Node.js Nodejs 4.0.0 (including) 4.1.2 (including)
Node.js Nodejs 4.2.0 (including) 4.9.1 (including)
Nodejs Ubuntu esm-apps/xenial *
Nodejs Ubuntu esm-infra-legacy/trusty *
Nodejs Ubuntu trusty *
Nodejs Ubuntu trusty/esm *
Nodejs Ubuntu upstream *
Nodejs Ubuntu xenial *

Potential Mitigations

References