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 ...
Alias: CVE-2018-1109
Product: Security Response
Classification: Other
Component: vulnerability
Version: unspecified
Hardware: All
OS: Linux
Target Milestone: ---
Assignee: Red Hat Product Security
QA Contact:
Depends On: 1566711 1596764
Blocks: 1547276 1944342
TreeView+ depends on / blocked
Reported: 2018-02-20 22:09 UTC by Laura Pardo
Modified: 2021-10-19 12:10 UTC (History)
27 users (show)

Fixed In Version: braces 2.3.1
Doc Type: If docs needed, set a value
Doc Text:
A vulnerability was found in nodejs-braces. Affected versions of this package are vulnerable to Regular expression Denial of Service (ReDoS) attacks. The highest threat from this vulnerability is system availability.
Clone Of:
Last Closed: 2018-06-29 20:48:27 UTC

Attachments (Terms of Use)

System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2021:3917 0 None None None 2021-10-19 12:10:10 UTC

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:


External References:


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:


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]

Comment 10 Jason Shepherd 2021-05-07 03:06:14 UTC

Red Hat Quay includes braces as a dependency of webpack. Braces is only used at build time, not at runtime, reducing the impact of this vulnerability to low.

Comment 12 errata-xmlrpc 2021-10-19 12:10:08 UTC
This issue has been addressed in the following products:

  Red Hat Quay 3

Via RHSA-2021:3917 https://access.redhat.com/errata/RHSA-2021:3917

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