Bug 1547272 (CVE-2018-1109) - CVE-2018-1109 nodejs-braces: Regular Expression Denial of Service (ReDoS) in lib/parsers.js
Summary: CVE-2018-1109 nodejs-braces: Regular Expression Denial of Service (ReDoS) in ...
Keywords:
Status: CLOSED NOTABUG
Alias: CVE-2018-1109
Product: Security Response
Classification: Other
Component: vulnerability
Version: unspecified
Hardware: All
OS: Linux
low
low
Target Milestone: ---
Assignee: Red Hat Product Security
QA Contact:
URL:
Whiteboard:
Depends On: 1596764 1566711
Blocks: 1547276 1944342
TreeView+ depends on / blocked
 
Reported: 2018-02-20 22:09 UTC by Laura Pardo
Modified: 2021-03-29 18:46 UTC (History)
25 users (show)

Fixed In Version: braces 2.3.1
Doc Type: If docs needed, set a value
Doc Text:
A vulnerability was found in Braces versions prior to 2.3.1. Affected versions of this package are vulnerable to Regular Expression Denial of Service (ReDoS) attacks.
Clone Of:
Environment:
Last Closed: 2018-06-29 20:48:27 UTC


Attachments (Terms of Use)

Description Laura Pardo 2018-02-20 22:09:55 UTC
A vulnerability was found in Braces versions prior to 2.3.1. Affected versions of this package are vulnerable to Regular Expression Denial of Service (ReDoS) attacks. It used a regular expression (^\{(,+(?:(\{,+\})*),*|,*(?:(\{,+\})*),+)\}) in order to detects empty braces. This can cause an impact of about 10 seconds matching time for data 50K characters long.

Upstream Patch:

https://github.com/micromatch/braces/commit/abdafb0cae1e0c00f184abbadc692f4eaa98f451

External References:

https://snyk.io/vuln/npm:braces:20180219

Comment 1 Jason Shepherd 2018-02-23 03:44:00 UTC
The 'braces' library is included in RHMAP, fh-ngui by the 'watchify' library. It doesn't accept user input to the string being matched by the vulnerable regular expression. Marking RHMAP as not affected.

Comment 5 Jason Shepherd 2018-06-13 21:28:14 UTC
NodeJS is shipped in Openshift Enterprise 3.9 as ImageStreams. Those ImageStreams are the RH Software Collection images. Setting Openshift Enterprise 3 as not affected.

Comment 7 Tomas Hoger 2018-06-29 16:31:05 UTC
The problematic regular expression was added as an optimization in version 2.2.0 via the following commit:

https://github.com/micromatch/braces/commit/dcc1acab4de9a43e86ab4be4acde209ff1dca113

Therefore, this issue is not applicable to older braces versions.

Comment 8 Tomas Hoger 2018-06-29 16:32:43 UTC
The nodejs-braces was added to Fedora 28, using affected upstream version 2.2.2.  Rawhide / F29 already has fixed upstream version 2.3.2.

Comment 9 Tomas Hoger 2018-06-29 16:33:09 UTC
Created nodejs-braces tracking bugs for this issue:

Affects: fedora-28 [bug 1596764]


Note You need to log in before you can comment on or make changes to this bug.