CVE-2018-3738 - Incorrect Regular Expression

Severity

43%

Complexity

86%

Confidentiality

48%

protobufjs is vulnerable to ReDoS when parsing crafted invalid .proto files.

protobufjs is vulnerable to ReDoS when parsing crafted invalid .proto files.

CVSS 3.0 Base Score 5.5. CVSS Attack Vector: local. CVSS Attack Complexity: low. CVSS Vector: (CVSS:3.0/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H).

CVSS 2.0 Base Score 4.3. CVSS Attack Vector: network. CVSS Attack Complexity: medium. CVSS Vector: (AV:N/AC:M/Au:N/C:N/I:N/A:P).

Demo Examples

Incorrect Regular Expression

CWE-185

The following code takes phone numbers as input, and uses a regular expression to reject invalid phone numbers.


               
}
system("lookup-phone $phone");# looks like it only has hyphens and digits
error("malformed number!");

An attacker could provide an argument such as: "; ls -l ; echo 123-456" This would pass the check, since "123-456" is sufficient to match the "\d+-\d+" portion of the regular expression.

Overview

First reported 6 years ago

2018-06-07 02:29:00

Last updated 5 years ago

2019-10-09 23:40:00

Affected Software

protobufjs Project protobufjs 6.8.5 for Node.js

6.8.5
node.js

Stay updated

ExploitPedia is constantly evolving. Sign up to receive a notification when we release additional functionality.

Get in touch

If you'd like to report a bug or have any suggestions for improvements then please do get in touch with us using this form. We will get back to you as soon as we can.