CVE-2017-18077 json
ReDoS in brace-expansion
published 8y ago modified 4mo ago also GHSA-832h-xg76-4gv6 , EUVD-2018-0155
- cvss
- 7.5
- version 3.0, NVD
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 2.6%
- EPSS 2.6% chance of exploitation in 30 days, percentile 85%
- public exploits
- 0
- none known
Summary
index.js in brace-expansion before 1.1.7 is vulnerable to Regular Expression Denial of Service (ReDoS) attacks, as demonstrated by an expand argument containing many comma characters.
Patch / fix
- npm brace-expansion 1.1.7
- brace_expansion_project brace_expansion 1.1.7
- node-brace-expansion Debian 14, Debian 13, Debian 12 1.1.8-1
debian advisories DEBIAN-CVE-2017-18077
- rh-nodejs8-nodejs RHEL 3 SOFTWARE_COLLECTIONS 8.17.0-2.el7
- rh-nodejs8-npm RHEL 3 SOFTWARE_COLLECTIONS 6.13.4-8.17.0.2.el7
red hat advisories RHSA-2020:2625
Is CVE-2017-18077 in your dependencies? Fencer shows which of your repositories are affected as soon as an advisory lands, and opens the fix as a pull request.
Check with FencerVendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2017-18077 updated cvss 5.3
nodejs-brace-expansion: Regular expression denial of service
-
Red Hat Mobile Application Platform 4 fh-aaa Red Hat OpenShift Enterprise 3 nodejs-brace-expansionaffected: no fix planned “Will not fix”
-
Red Hat Quay 3 quay/quay-rhel8affected: no fix available “Fix deferred”
-
Red Hat Software Collections rh-nodejs4-nodejs-brace-expansion, rh-nodejs6-nodejs-brace-expansion, rh-nodejs8-nodejs-brace-expansionaffected: no fix available, no fix planned “Will not fix”
-
Red Hat Software Collections for Red Hat Enterprise Linux Server (v. 7) rh-nodejs8-nodejs 8.17.0-2.el7, rh-nodejs8-npm 6.13.4-8.17.0.2.el7 Red Hat Software Collections for Red Hat Enterprise Linux Server EUS (v. 7.6) rh-nodejs8-nodejs 8.17.0-2.el7, rh-nodejs8-npm 6.13.4-8.17.0.2.el7 Red Hat Software Collections for Red Hat Enterprise Linux Server EUS (v. 7.7) rh-nodejs8-nodejs 8.17.0-2.el7, rh-nodejs8-npm 6.13.4-8.17.0.2.el7 Red Hat Software Collections for Red Hat Enterprise Linux Workstation (v. 7) rh-nodejs8-nodejs 8.17.0-2.el7, rh-nodejs8-npm 6.13.4-8.17.0.2.el7fixed: vendor fix RHSA-2020:2625
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
Exploit prediction
2.58% chance of exploitation in the next 30 days, higher than 85% of all scored CVEs (FIRST EPSS, 2026-11-09).
Exploits and checks
- github.com https://github.com/juliangruber/brace-expansion/issues/33 referenced PoC, tagged "exploit" by a source, unverified
- nodesecurity.io https://nodesecurity.io/advisories/338 referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| NVD | 3.0 | 7.5 | CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H |
| NVD | 2.0 | 5.0 | AV:N/AC:L/Au:N/C:N/I:N/A:P |
| GitHub | 3.0 | 7.5 | CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| npm | brace-expansion | <1.1.7 |
1.1.7 |
Classification
References
-
github.com
/juliangruber/brace-expansion/pull/35/commits/b13381281cead487cbdbfd6a69fb097ea5e456c3
web, patch, third-party-advisory
-
github.com
/juliangruber/brace-expansion/issues/33
web, exploit, issue-tracking, patch, third-party-advisory
-
github.com
/juliangruber/brace-expansion/pull/35
web
-
nodesecurity.io
/advisories/338
exploit, third-party-advisory
-
bugs.debian.org
/862712
web, third-party-advisory
-
nvd.nist.gov
/vuln/detail/CVE-2017-18077
advisory
-
github.com
/advisories/GHSA-832h-xg76-4gv6
advisory
-
github.com
/juliangruber/brace-expansion
package
-
npmjs.com
/advisories/338
web
Sources
- CVE List CVE-2017-18077
- GitHub Advisory GHSA-832h-xg76-4gv6
- NVD CVE-2017-18077
Fencer Intel keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.