Read the docs

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

Priority LOW 30CWE-400Published · Updated

Key facts

Attack vector
Network
Privileges required
None
User interaction
None
Attack complexity
Low
Impact type
Denial of service
Confidentiality · integrity · availability
None · None · Low
Fix status
Partial Red Hat: 3 fixed, 50 without a fix

Attack profile from CVSS 3.1 · CNA. Fix status from CNA, GitHub and Red Hat. Impact type from CWE-400.

Summary

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.

Why it matters now

Exploitation None reported CISA SSVC · not in CISA KEV
EPSS 0.00428 37th percentileScored 2026-11-07
Fix Partial brace-expansion (juliangruber): 5.0.12, 3.0.9, 2.1.7 +1brace-expansion (npm): 5.0.12, 3.0.9, 2.1.7 +1Red Hat: 5 advisoriesRed Hat: 3 fixed, 50 without a fix

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
None
Automatable
Yes
Technical impact
Partial

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
juliangruberbrace-expansion4.0.0 to before 5.0.12; 3.0.0 to before 3.0.9; 2.0.0 to before 2.1.7; before 1.1.215.0.12, 3.0.9, 2.1.7, 1.1.21Patch availableCNA
—brace-expansion (npm)4.0.0 to before 5.0.125.0.12Patch availableGHSA-q2hr-2g5m-vwhr
—brace-expansion (npm)3.0.0 to before 3.0.93.0.9Patch availableGHSA-q2hr-2g5m-vwhr
—brace-expansion (npm)2.0.0 to before 2.1.72.1.7Patch availableGHSA-q2hr-2g5m-vwhr
—brace-expansion (npm)before 1.1.211.1.21Patch availableGHSA-q2hr-2g5m-vwhr
  • brace-expansion Vendorjuliangruber Affected 4.0.0 to before 5.0.12; 3.0.0 to before 3.0.9; 2.0.0 to before 2.1.7; before 1.1.21 Fixed in 5.0.12, 3.0.9, 2.1.7, 1.1.21 Patch available CNA
  • brace-expansion (npm) Vendor— Affected 4.0.0 to before 5.0.12 Fixed in 5.0.12 Patch available GHSA-q2hr-2g5m-vwhr
  • brace-expansion (npm) Vendor— Affected 3.0.0 to before 3.0.9 Fixed in 3.0.9 Patch available GHSA-q2hr-2g5m-vwhr
  • brace-expansion (npm) Vendor— Affected 2.0.0 to before 2.1.7 Fixed in 2.1.7 Patch available GHSA-q2hr-2g5m-vwhr
  • brace-expansion (npm) Vendor— Affected before 1.1.21 Fixed in 1.1.21 Patch available GHSA-q2hr-2g5m-vwhr

CPE names Threatist (inferred) · 1

Inferred from how NVD named this product before; not given by a source.

CPEVersionsRoleVendor
cpe:2.3:a:juliangruber:brace-expansion:*:*:*:*:*:*:*:*——juliangruber
  • cpe:2.3:a:juliangruber:brace-expansion:*:*:*:*:*:*:*:* Versions — — ·juliangruber

Remediation

  • Fix · CNA brace-expansion (juliangruber) Fixed in 5.0.12, 3.0.9, 2.1.7, 1.1.21
  • Fix · GHSA-q2hr-2g5m-vwhr brace-expansion (npm) Fixed in 5.0.12 Advisory →
  • Fix · GHSA-q2hr-2g5m-vwhr brace-expansion (npm) Fixed in 3.0.9 Advisory →
  • Fix · GHSA-q2hr-2g5m-vwhr brace-expansion (npm) Fixed in 2.1.7 Advisory →
  • Fix · GHSA-q2hr-2g5m-vwhr brace-expansion (npm) Fixed in 1.1.21 Advisory →

Red Hat 5 advisories

  • RHSA-2026:92378 Released 2026-10-29 · Red Hat rating Important
    nodejs:24 security, bug fix, and enhancement update
    • Red Hat Enterprise Linux AppStream (v. 9) nodejs-1:24.22.1-3.module+el9.8.0+25216+afa2a4a4.aarch64::nodejs:24, nodejs-1:24.22.1-3.module+el9.8.0+25216+afa2a4a4.ppc64le::nodejs:24, nodejs-1:24.22.1-3.module+el9.8.0+25216+afa2a4a4.s390x::nodejs:24 +25
  • RHSA-2026:92376 Released 2026-10-29 · Red Hat rating Important
    nodejs:24 security, bug fix, and enhancement update
    • Red Hat Enterprise Linux AppStream (v. 8) nodejs-1:24.22.1-1.module+el8.10.0+25218+d9e131cb.aarch64::nodejs:24, nodejs-1:24.22.1-1.module+el8.10.0+25218+d9e131cb.ppc64le::nodejs:24, nodejs-1:24.22.1-1.module+el8.10.0+25218+d9e131cb.s390x::nodejs:24 +25
  • RHSA-2026:74168 Released 2026-09-30 · Red Hat rating Important
    Red Hat Hardened Images RPMs bug fix and enhancement update
    • Red Hat Hardened Images nodejs26-1:26.10.0-0.3.hum1@aarch64, nodejs26-1:26.10.0-0.3.hum1@src, nodejs26-1:26.10.0-0.3.hum1@x86_64 +14
Show 2 more Red Hat advisories
  • RHSA-2026:74167 Released 2026-09-30 · Red Hat rating Important
    Red Hat Hardened Images RPMs Security Update
    • Red Hat Hardened Images nodejs24-1:24.21.0-1.2.hum1@aarch64, nodejs24-1:24.21.0-1.2.hum1@src, nodejs24-1:24.21.0-1.2.hum1@x86_64 +16
  • RHSA-2026:74161 Released 2026-09-30 · Red Hat rating Important
    Red Hat Hardened Images RPMs bug fix and enhancement update
    • Red Hat Hardened Images nodejs22-1:22.23.3-2.3.2.2.hum1@aarch64, nodejs22-1:22.23.3-2.3.2.2.hum1@src, nodejs22-1:22.23.3-2.3.2.2.hum1@x86_64 +14

Vendor assessments

Red Hat

Red Hat rating: Moderate. Red Hat's page for this CVE →

ProductStatusPlan or fix
Cost Management On PremiseAffectedNo fix yet: Fix deferred
Cryostat 4AffectedNo fix yet: Fix deferred
Exploit IntelligenceAffectedNo fix yet: Fix deferred
Migration Toolkit for Applications 8AffectedNo fix yet: Fix deferred
Migration Toolkit for ContainersAffectedNo fix yet: Fix deferred
Node HealthCheck OperatorAffectedNo fix yet: Fix deferred
OpenShift PipelinesAffectedNo fix yet: Fix deferred
OpenShift Service Mesh 3AffectedNo fix yet: Fix deferred
Red Hat 3scale API Management Platform 2AffectedNo fix yet: Fix deferred
Red Hat AMQ Broker 7AffectedNo fix yet: Fix deferred
Red Hat Advanced Cluster Management for Kubernetes 2AffectedNo fix yet: Fix deferred
Red Hat Advanced Cluster Security 4AffectedNo fix yet: Fix deferred
Red Hat Ansible Automation Platform 2AffectedNo fix yet: Fix deferred
Red Hat Build of KeycloakAffectedNo fix yet: Fix deferred
Red Hat Build of Podman DesktopAffectedNo fix yet: Fix deferred
Red Hat Ceph Storage 4AffectedNo fix yet: Fix deferred
Red Hat Ceph Storage 9AffectedNo fix yet: Fix deferred
Red Hat Certification Program for Red Hat Enterprise Linux 9AffectedNo fix yet: Fix deferred
Red Hat Connectivity Link 1AffectedNo fix yet: Fix deferred
Red Hat Data Grid 8AffectedNo fix yet: Fix deferred
Red Hat Developer Hub 1AffectedNo fix yet: Fix deferred
Red Hat Directory Server 11AffectedNo fix yet: Fix deferred
Red Hat Directory Server 12AffectedNo fix yet: Fix deferred
Red Hat Directory Server 13AffectedNo fix yet: Fix deferred
Red Hat Discovery 2AffectedNo fix yet: Fix deferred
Red Hat Edge Manager 1AffectedNo fix yet: Fix deferred
Red Hat Enterprise Linux 10AffectedNo fix yet: Fix deferred
Red Hat Enterprise Linux 7AffectedNo fix yet: Fix deferred
Red Hat Enterprise Linux 8AffectedNo fix yet: Fix deferred
Red Hat Enterprise Linux 9AffectedNo fix yet: Fix deferred
Red Hat Enterprise Linux AI (RHEL AI) 3AffectedNo fix yet: Fix deferred
Red Hat Fuse 7AffectedNo fix yet: Fix deferred
Red Hat Hardened ImagesAffectedNo fix yet: Fix deferred
Red Hat JBoss Enterprise Application Platform 7AffectedNo fix yet: Fix deferred
Red Hat JBoss Enterprise Application Platform 8AffectedNo fix yet: Fix deferred
Red Hat JBoss Enterprise Application Platform Expansion PackAffectedNo fix yet: Fix deferred
Red Hat OpenShift AI (RHOAI)AffectedNo fix yet: Fix deferred
Red Hat OpenShift Container Platform 4AffectedNo fix yet: Fix deferred
Red Hat OpenShift Container Platform 5AffectedNo fix yet: Fix deferred
Red Hat OpenShift Dev SpacesAffectedNo fix yet: Fix deferred
Red Hat OpenShift GitOpsAffectedNo fix yet: Fix deferred
Red Hat Openshift Data Foundation 4AffectedNo fix yet: Fix deferred
Red Hat Quay 3AffectedNo fix yet: Fix deferred
Red Hat Satellite 6AffectedNo fix yet: Fix deferred
Red Hat Single Sign-On 7AffectedNo fix yet: Fix deferred
Red Hat Trusted Profile AnalyzerAffectedNo fix yet: Fix deferred
Red Hat build of Apache Camel - HawtIO 4AffectedNo fix yet: Fix deferred
Red Hat build of Apache Camel for Spring Boot 4AffectedNo fix yet: Fix deferred
Secrets Management Console for Red Hat OpenShiftAffectedNo fix yet: Fix deferred
Self-service automation portal 2AffectedNo fix yet: Fix deferred
Red Hat Enterprise Linux AppStream (v. 8)Fixed RHSA-2026:92376
Red Hat Enterprise Linux AppStream (v. 9)Fixed RHSA-2026:92378
Red Hat Hardened ImagesFixed RHSA-2026:74161, RHSA-2026:74167, RHSA-2026:74168
Not affected: 3 products
  • OpenShift Lightspeed
  • Red Hat Hardened Images
  • Red Hat OpenShift Container Platform 5

Timeline

  1. 2026-10-02 Threatist record created from CVE-2026-102277
  2. 2026-10-03 Alias added: GHSA-q2hr-2g5m-vwhr
  3. 2026-10-09 Affected versions changed · Red Hat
  4. 2026-10-13 Affected versions changed · Red Hat
  5. 2026-10-15 Affected versions changed · Red Hat
  6. 2026-10-27 Affected versions changed · Red Hat
  7. 2026-10-30 Fix available: RHSA-2026:92378 · Red Hat
  8. 2026-10-30 Fix available: RHSA-2026:92376 · Red Hat
  9. 2026-10-30 Fix available: Red Hat Enterprise Linux AppStream (v. 8), Red Hat Enterprise Linux AppStream (v. 9) · Red Hat

References

  • TI-2026-48532 brace-expansion: DoS via unbounded intermediate arrays, bypassing the CVE-2026-14257 mitigation CVSS 3.1HIGH 7.5
  • TI-2025-05315 juliangruber brace-expansion index.js expand redos CVSS 4.0LOW 2.3
  • TI-2021-17956 Insecure random number generation CVSS 3.1CRITICAL 9.1
  • TI-2026-12072 brace-expansion DoS via unbounded expansion length causing an out-of-memory process crash CVSS 3.1HIGH 7.5
  • TI-2026-11166 Uncontrolled resource consumption in juliangruber brace-expansion CVSS 4.0HIGH 7.7
  • TI-2026-65313 brace-expansion: DoS via uncontrolled recursion on nested brace groups causing stack exhaustion CVSS 3.1HIGH 7.5
See all 9 →

Sources