CVE-2026-102277

brace-expansion: Quadratic-time expansion of the `{a},b}` rewrite causes CPU denial of service

CVE-2026-102277 is fixed in 12 products on 1 platform, first by DEBIAN-CVE-2026-102277, released October 9, 2026. It is not reported as exploited. Patch Radar priority: High.

High
CVSS
8.1
Moderate
Exploitation
None reported
No vendor assessment
CISA KEV
Not listed
Not in the Known Exploited Vulnerabilities catalog
EPSS
0.0043
37th percentile

The brace-expansion library generates arbitrary strings containing a common prefix and suffix. Prior to 1.1.21, 2.1.7, 3.0.9, and 5.0.12, the expand function handles untrusted {a},b}-shaped patterns with many trailing closing braces by restarting its scan once for each trailing closing brace. The successive full-input rescans with linear working-string growth cause quadratic CPU time and memory pressure that can block the Node.js event loop. The process eventually recovers, making the impact a recoverable CPU denial of service. This issue is fixed in versions 1.1.21, 2.1.7, 3.0.9, and 5.0.12.

Where it's fixed

ProductFixed inFixReleased
Linux
node-brace-expansion · Debian 14 2.1.7+~1.1.2-1 DEBIAN-CVE-2026-102277 Oct 9, 2026
nodejs · RHEL 8 1:24.22.1-1.module+el8.10.0+25218+d9e131cb RHSA-2026:92376 Oct 30, 2026
nodejs · RHEL 9 1:24.22.1-3.module+el9.8.0+25216+afa2a4a4 RHSA-2026:92378 Oct 30, 2026
nodejs · almalinux 8 1:24.22.1-1.module_el8.10.0+4331+0683c9c1 ALSA-2026:92376 Nov 7, 2026
nodejs · almalinux 9 1:24.22.1-3.module_el9.8.0+333+788f3075 ALSA-2026:92378 Nov 7, 2026
nodejs · ol 8 1:24.21.0-1.0.1.module+el8.10.0+91090+8c7726c5 ELSA-2026-92376 Nov 7, 2026
nodejs · ol 9 1:24.21.0-1.0.1.module+el9.8.0+91091+c060d8b4 ELSA-2026-92378 Nov 7, 2026
nodejs · rocky 9 1:24.22.1-3.module+el9.8.0+40401+e24b8c95 RLSA-2026:92378 Nov 7, 2026
nodejs-devel · RHEL 8 1:24.22.1-1.module+el8.10.0+25218+d9e131cb RHSA-2026:92376 Oct 30, 2026
nodejs-devel · RHEL 9 1:24.22.1-3.module+el9.8.0+25216+afa2a4a4 RHSA-2026:92378 Oct 30, 2026
nodejs-devel · almalinux 8 1:24.22.1-1.module_el8.10.0+4331+0683c9c1 ALSA-2026:92376 Nov 7, 2026
nodejs-devel · almalinux 9 1:24.22.1-3.module_el9.8.0+333+788f3075 ALSA-2026:92378 Nov 7, 2026
nodejs-devel · ol 8 1:24.21.0-1.0.1.module+el8.10.0+91090+8c7726c5 ELSA-2026-92376 Nov 7, 2026
nodejs-devel · ol 9 1:24.21.0-1.0.1.module+el9.8.0+91091+c060d8b4 ELSA-2026-92378 Nov 7, 2026
nodejs-docs · RHEL 8 1:24.22.1-1.module+el8.10.0+25218+d9e131cb RHSA-2026:92376 Oct 30, 2026
nodejs-docs · RHEL 9 1:24.22.1-3.module+el9.8.0+25216+afa2a4a4 RHSA-2026:92378 Oct 30, 2026
nodejs-docs · almalinux 8 1:24.22.1-1.module_el8.10.0+4331+0683c9c1 ALSA-2026:92376 Nov 7, 2026
nodejs-docs · almalinux 9 1:24.22.1-3.module_el9.8.0+333+788f3075 ALSA-2026:92378 Nov 7, 2026
nodejs-docs · ol 8 1:24.21.0-1.0.1.module+el8.10.0+91090+8c7726c5 ELSA-2026-92376 Nov 7, 2026
nodejs-docs · ol 9 1:24.21.0-1.0.1.module+el9.8.0+91091+c060d8b4 ELSA-2026-92378 Nov 7, 2026
nodejs-full-i18n · RHEL 8 1:24.22.1-1.module+el8.10.0+25218+d9e131cb RHSA-2026:92376 Oct 30, 2026
nodejs-full-i18n · RHEL 9 1:24.22.1-3.module+el9.8.0+25216+afa2a4a4 RHSA-2026:92378 Oct 30, 2026
nodejs-full-i18n · almalinux 8 1:24.22.1-1.module_el8.10.0+4331+0683c9c1 ALSA-2026:92376 Nov 7, 2026
nodejs-full-i18n · almalinux 9 1:24.22.1-3.module_el9.8.0+333+788f3075 ALSA-2026:92378 Nov 7, 2026
nodejs-full-i18n · ol 8 1:24.21.0-1.0.1.module+el8.10.0+91090+8c7726c5 ELSA-2026-92376 Nov 7, 2026
nodejs-full-i18n · ol 9 1:24.21.0-1.0.1.module+el9.8.0+91091+c060d8b4 ELSA-2026-92378 Nov 7, 2026
nodejs-libs · RHEL 8 1:24.22.1-1.module+el8.10.0+25218+d9e131cb RHSA-2026:92376 Oct 30, 2026
nodejs-libs · RHEL 9 1:24.22.1-3.module+el9.8.0+25216+afa2a4a4 RHSA-2026:92378 Oct 30, 2026
nodejs-libs · almalinux 8 1:24.22.1-1.module_el8.10.0+4331+0683c9c1 ALSA-2026:92376 Nov 7, 2026
nodejs-libs · almalinux 9 1:24.22.1-3.module_el9.8.0+333+788f3075 ALSA-2026:92378 Nov 7, 2026
nodejs-libs · ol 8 1:24.21.0-1.0.1.module+el8.10.0+91090+8c7726c5 ELSA-2026-92376 Nov 7, 2026
nodejs-libs · ol 9 1:24.21.0-1.0.1.module+el9.8.0+91091+c060d8b4 ELSA-2026-92378 Nov 7, 2026
nodejs-nodemon · RHEL 8 0:3.1.14-2.module+el8.10.0+24711+b610b202 RHSA-2026:92376 Oct 30, 2026
nodejs-nodemon · RHEL 9 0:3.1.14-3.module+el9.8.0+24708+e71d2e1d RHSA-2026:92378 Oct 30, 2026
nodejs-nodemon · almalinux 8 3.1.14-2.module_el8.10.0+4250+09238ed4 ALSA-2026:92376 Nov 7, 2026
nodejs-nodemon · almalinux 9 3.1.14-3.module_el9.8.0+292+f4eaf8b2 ALSA-2026:92378 Nov 7, 2026
nodejs-nodemon · ol 8 0:3.1.14-2.module+el8.10.0+91054+4b1a799c ELSA-2026-92376 Nov 7, 2026
nodejs-nodemon · ol 9 0:3.1.14-3.module+el9.8.0+91009+5d530ccd ELSA-2026-92378 Nov 7, 2026
nodejs-nodemon · rocky 8 0:3.1.14-2.module+el8.10.0+40277+b1b3f89e RLSA-2026:92376 Nov 7, 2026
nodejs-nodemon · rocky 9 0:3.1.14-3.module+el9.8.0+40281+14cc6568 RLSA-2026:92378 Nov 7, 2026
nodejs-packaging · RHEL 8 0:2021.06-6.module+el8.10.0+24711+b610b202 RHSA-2026:92376 Oct 30, 2026
nodejs-packaging · RHEL 9 0:2021.06-6.module+el9.8.0+24708+e71d2e1d RHSA-2026:92378 Oct 30, 2026
nodejs-packaging · almalinux 8 2021.06-6.module_el8.10.0+4086+70facd4a ALSA-2026:92376 Nov 7, 2026
nodejs-packaging · almalinux 9 2021.06-6.module_el9.7.0+209+ecf6523e ALSA-2026:92378 Nov 7, 2026
nodejs-packaging · ol 8 0:2021.06-6.module+el8.10.0+91054+4b1a799c ELSA-2026-92376 Nov 7, 2026
nodejs-packaging · ol 9 0:2021.06-6.module+el9.8.0+91009+5d530ccd ELSA-2026-92378 Nov 7, 2026
nodejs-packaging · rocky 8 0:2021.06-6.module+el8.10.0+40048+6d99f608 RLSA-2026:92376 Nov 7, 2026
nodejs-packaging · rocky 9 0:2021.06-6.module+el9.7.0+40165+d075e3f2 RLSA-2026:92378 Nov 7, 2026
nodejs-packaging-bundler · RHEL 8 0:2021.06-6.module+el8.10.0+24711+b610b202 RHSA-2026:92376 Oct 30, 2026
nodejs-packaging-bundler · RHEL 9 0:2021.06-6.module+el9.8.0+24708+e71d2e1d RHSA-2026:92378 Oct 30, 2026
nodejs-packaging-bundler · almalinux 8 2021.06-6.module_el8.10.0+4086+70facd4a ALSA-2026:92376 Nov 7, 2026
nodejs-packaging-bundler · almalinux 9 2021.06-6.module_el9.7.0+209+ecf6523e ALSA-2026:92378 Nov 7, 2026
nodejs-packaging-bundler · ol 8 0:2021.06-6.module+el8.10.0+91054+4b1a799c ELSA-2026-92376 Nov 7, 2026
nodejs-packaging-bundler · ol 9 0:2021.06-6.module+el9.8.0+91009+5d530ccd ELSA-2026-92378 Nov 7, 2026
npm · RHEL 8 1:11.19.1-1.24.22.1.1.module+el8.10.0+25218+d9e131cb RHSA-2026:92376 Oct 30, 2026
npm · RHEL 9 1:11.19.1-1.24.22.1.3.module+el9.8.0+25216+afa2a4a4 RHSA-2026:92378 Oct 30, 2026
npm · almalinux 8 1:11.19.1-1.24.22.1.1.module_el8.10.0+4331+0683c9c1 ALSA-2026:92376 Nov 7, 2026
npm · almalinux 9 1:11.19.1-1.24.22.1.3.module_el9.8.0+333+788f3075 ALSA-2026:92378 Nov 7, 2026
npm · ol 8 1:11.19.0-1.24.21.0.1.0.1.module+el8.10.0+91090+8c7726c5 ELSA-2026-92376 Nov 7, 2026
npm · ol 9 1:11.19.0-1.24.21.0.1.0.1.module+el9.8.0+91091+c060d8b4 ELSA-2026-92378 Nov 7, 2026
pi-coding-agent · opensuse-leap 16.0 1.0.4-bp160.1.1 OPENSUSE-SU-2026:22111-1 Nov 7, 2026
v8-13.6-devel · RHEL 8 3:13.6.233.17-1.24.22.1.1.module+el8.10.0+25218+d9e131cb RHSA-2026:92376 Oct 30, 2026
v8-13.6-devel · RHEL 9 3:13.6.233.17-1.24.22.1.3.module+el9.8.0+25216+afa2a4a4 RHSA-2026:92378 Oct 30, 2026
v8-13.6-devel · almalinux 8 3:13.6.233.17-1.24.22.1.1.module_el8.10.0+4331+0683c9c1 ALSA-2026:92376 Nov 7, 2026
v8-13.6-devel · almalinux 9 3:13.6.233.17-1.24.22.1.3.module_el9.8.0+333+788f3075 ALSA-2026:92378 Nov 7, 2026
v8-13.6-devel · ol 8 3:13.6.233.17-1.24.21.0.1.0.1.module+el8.10.0+91090+8c7726c5 ELSA-2026-92376 Nov 7, 2026
v8-13.6-devel · ol 9 3:13.6.233.17-1.24.21.0.1.0.1.module+el9.8.0+91091+c060d8b4 ELSA-2026-92378 Nov 7, 2026

Patch Radar data is free to use with attribution. Terms and how to credit it.

Product names, logos and trademarks shown on Patch Radar belong to their respective owners. They are used only to identify the software each security fix applies to and to help readers find their platform. Their use does not imply any affiliation with, or endorsement by, those owners, and Patchblox is not affiliated with any of them.