Skip to content
Fencer Vulns
high 7.5

CVE-2026-102278 json

brace-expansion: DoS via uncontrolled recursion on nested brace groups causing stack exhaustion

published 2026-09-28 41 d ago modified 2026-10-01 38 d ago also GHSA-qhr7-859c-m2p7 , EUVD-2026-88555

cvss
7.5
version 3.1, CNA
cisa kev
Not listed
not in CISA's catalog
epss
0.5%
EPSS 0.5% chance of exploitation in 30 days, percentile 42%
public exploits
0
none known

Summary

The brace-expansion library generates arbitrary strings containing a common prefix and suffix. Prior to 1.1.20, 2.1.6, 3.0.8, and 5.0.11, deeply nested brace groups cause expand_() to recurse once per nesting level at comma-member and single-set expansion sites, exhausting the native stack before output limits can apply and potentially terminating the Node.js process. expand_ performs uncontrolled recursion for nested brace alternatives and single-part sets. deeply nested brace groups supplied as an untrusted pattern. expand_ is affected. expand is affected. Comma members is affected. Single set is affected. native stack exhaustion during nested sub-expansion. process-terminating denial of service. This issue is fixed in versions 1.1.20, 2.1.6, 3.0.8, and 5.0.11.

Patch / fix

  • npm brace-expansion 1.1.20, 2.1.6, 3.0.8, 5.0.11
  • node-brace-expansion Debian 14 2.1.7+~1.1.2-1

debian advisories DEBIAN-CVE-2026-102278

  • nodejs26 hummingbird 1 26.10.0-0.3.hum1
  • nodejs26-bin hummingbird 1 26.10.0-0.3.hum1
  • nodejs26-npm hummingbird 1 11.19.1-1.26.10.0.0.3.hum1
  • nodejs26-libs hummingbird 1 26.10.0-0.3.hum1
  • nodejs26-npm-bin hummingbird 1 26.10.0-0.3.hum1
  • nodejs26-full-i18n hummingbird 1 26.10.0-0.3.hum1
  • nodejs24 hummingbird 1 24.21.0-1.2.hum1
  • nodejs24-bin hummingbird 1 24.21.0-1.2.hum1

red hat advisories RHSA-2026:74168RHSA-2026:74167RHSA-2026:74161RHSA-2026:73916RHSA-2026:73914RHSA-2026:73856

  • pi-coding-agent openSUSE Leap 16.0 1.0.4-bp160.1.1
  • pi-coding-agent openSUSE Tumbleweed 1.0.0-1.1

opensuse advisories openSUSE-SU-2026:22111-1openSUSE-SU-2026:11967-1

  • npm AlmaLinux 8 1:11.19.1-1.24.22.1.1.module_el8.10.0+4331+0683c9c1
  • nodejs AlmaLinux 8 1:24.22.1-1.module_el8.10.0+4331+0683c9c1
  • nodejs-libs AlmaLinux 8 1:24.22.1-1.module_el8.10.0+4331+0683c9c1
  • nodejs-nodemon AlmaLinux 8 3.1.14-2.module_el8.10.0+4250+09238ed4
  • nodejs-full-i18n AlmaLinux 8 1:24.22.1-1.module_el8.10.0+4331+0683c9c1
  • nodejs-packaging AlmaLinux 8 2021.06-6.module_el8.10.0+4086+70facd4a
  • nodejs-packaging-bundler AlmaLinux 8 2021.06-6.module_el8.10.0+4086+70facd4a
  • npm AlmaLinux 9 1:11.19.1-1.24.22.1.3.module_el9.8.0+333+788f3075

almalinux advisories ALSA-2026:92376ALSA-2026:92378

  • nodejs Rocky Linux 9 1:24.22.1-3.module+el9.8.0+40401+e24b8c95
  • nodejs-nodemon Rocky Linux 9 3.1.14-3.module+el9.8.0+40281+14cc6568
  • nodejs-packaging Rocky Linux 9 2021.06-6.module+el9.7.0+40165+d075e3f2
  • nodejs-packaging Rocky Linux 9 2021.06-6.module+el9.8.0+40164+8921ab53
  • nodejs-packaging Rocky Linux 9 2021.06-6.module+el9.7.0+40052+e32ea525
  • nodejs-packaging Rocky Linux 9 2021.06-6.module+el9.7.0+40153+4d595597
  • nodejs-nodemon Rocky Linux 8 3.1.14-2.module+el8.10.0+40277+b1b3f89e
  • nodejs-nodemon Rocky Linux 8 3.1.14-2.module+el8.10.0+40278+50b003a3

rocky linux advisories RLSA-2026:92378RLSA-2026:92376

Vendor advisories

What the vendors themselves say about their products: affected, fixed or not affected, and what to do.

red hat product security vex CVE-2026-102278 updated cvss 6.5

brace-expansion: brace-expansion: Denial of Service via uncontrolled recursion in nested brace patterns

  • Red Hat Cost Management On Premise costmanagement/costmanagement-ui-rhel10 Red Hat Exploit Intelligence exploit-intelligence/vulnerability-analysis-rhel9 Red Hat Migration Toolkit for Applications 8 mta/mta-ui-rhel9, mta/mta-nodejs-external-provider-rhel9 Red Hat Migration Toolkit for Containers rhmtc/openshift-migration-ui-rhel8 Red Hat Node HealthCheck Operator workload-availability/node-remediation-console-rhel8, workload-availability/node-healthcheck-rhel9-operator, workload-availability/node-healthcheck-operator-bundle, workload-availability/node-healthcheck-must-gather-rhel9 Red Hat OpenShift Pipelines openshift-pipelines/pipelines-hub-ui-rhel8, openshift-pipelines/pipelines-hub-ui-rhel9, openshift-pipelines/pipelines-console-plugin-rhel8, openshift-pipelines/pipelines-console-plugin-pf5-rhel9
    +1 more products
    Red Hat AMQ Broker 7 amq-broker-maven-repository.zip
    affected: workaround, no fix available
  • Red Hat Ansible Automation Platform 2 automation-gateway, automation-controller, automation-platform-ui, automation-eda-controller
    affected: workaround, no fix available, no fix planned “Will not fix”
  • Red Hat build of Apache Camel - HawtIO 4 rhaf-hawtio-maven-repository.zip Red Hat Build of Keycloak rhbk-quarkus-dist.zip, keycloak-operator.redhat-00001.zip, keycloak-operator.redhat-00003.zip Red Hat Build of Podman Desktop rh-podman-desktop
    affected: workaround, no fix available
  • Red Hat Ceph Storage 4 cockpit-ceph-installer Red Hat Ceph Storage 9 libarrow, parquet-libs
    affected: workaround, no fix available “Fix deferred”
  • Red Hat Certification Program for Red Hat Enterprise Linux 9 redhat-certification-cnf Red Hat Connectivity Link 1 rhcl-1/rhcl-console-plugin-rhel9 Red Hat Developer Hub 1 rhdh/rhdh-hub-rhel9, rhdh/red-hat-developer-hub-backstage-plugin-lightspeed-backend, rhdh/red-hat-developer-hub-backstage-plugin-orchestrator-backend
    affected: workaround, no fix available
  • Red Hat Directory Server 11 389-ds-base Red Hat Directory Server 12 389-ds-base Red Hat Directory Server 13 389-ds-base
    affected: workaround, no fix planned “Will not fix”
  • Red Hat Enterprise Linux 7 rhsm-gtk, python-syspurpose, subscription-manager, subscription-manager-gui, subscription-manager-rhsm, subscription-manager-cockpit, +5 more
    affected: workaround, no fix available
  • Red Hat Enterprise Linux 8 npm, rls, rust, cargo, clippy, nodejs, +31 more Red Hat Enterprise Linux 9 gjs, npm, rust, cargo, clippy, nodejs, +26 more
    affected: workaround, no fix available, no fix planned “Will not fix”
show 10 more
  • Red Hat Enterprise Linux 10 nodejs22, nodejs24, nodejs26, linux-sgx, nodejs-nodemon, cockpit-image-builder Red Hat Enterprise Linux AI (RHEL AI) 3 rust, rhelai3/bootc-cuda-rhel9, rhelai3/bootc-rocm-rhel9, rhelai3/bootc-gaudi-rhel9, rhelai3/disk-image-cuda-rhel9
    affected: workaround, no fix available
  • Red Hat Fuse 7 brace-expansion Red Hat Hardened Images nodejs25 25.9.0-1.6.hum1, nodejs20 20.20.2-1.2.hum1 Red Hat JBoss Enterprise Application Platform 7 jboss-eap-patch.zip, jboss-eap-maven-repository.zip, jboss-eap-full-maven-repository.zip, jboss-eap-runtime-maven-repository.zip, jboss-eap-incremental-maven-repository.zip
    affected: workaround, no fix planned “Will not fix”
  • Red Hat OpenShift AI (RHOAI) rhoai/odh-mlflow-rhel9, rhoai/odh-core-bff-rhel9, rhoai/odh-dashboard-operator-rhel9, rhoai/odh-mod-arch-agent-ops-rhel9, rhoai/odh-workbench-codeserver-datascience-cpu-py312-rhel9 Red Hat OpenShift Container Platform 4 openshift4/ose-console-rhel9, openshift4/ose-monitoring-plugin-rhel9, openshift4/ose-agent-installer-ui-rhel9 Red Hat OpenShift Container Platform 5 openshift5/ose-console-rhel9, openshift5/ose-monitoring-plugin-rhel9, openshift5/nmstate-console-plugin-rhel9 Red Hat Openshift Data Foundation 4 odf4/mcg-core-rhel9, odf4/odf-console-rhel9, odf4/ocs-client-console-rhel9, odf4/odf-multicluster-console-rhel9 Red Hat OpenShift Dev Spaces devspaces/udi-rhel9, devspaces/code-rhel9, devspaces/openvsx-rhel9, devspaces/dashboard-rhel9, devspaces/jetbrains-ide-rhel9, devspaces/pluginregistry-rhel9
    affected: workaround, no fix available
  • Red Hat OpenShift GitOps openshift-gitops-1/argocd-rhel9
    affected: workaround, no fix planned “Will not fix”
  • Red Hat Quay 3 quay/quay-rhel8, quay/quay-rhel9 Red Hat Satellite 6 satellite/iop-advisor-frontend-rhel9, satellite/iop-vulnerability-frontend-rhel9, satellite/iop-host-inventory-frontend-rhel9
    affected: workaround, no fix available
  • Red Hat Single Sign-On 7 rh-sso-server-dist.zip
    affected: workaround, no fix planned “Will not fix”
  • Red Hat Self-service automation portal 2 ansible-automation-platform/automation-portal, ansible-automation-platform/bootc-automation-portal-rhel9
    affected: workaround, no fix available
  • Red Hat Cluster Observability Operator 1.5 cluster-observability-operator/logging-console-plugin-rhel9 1793660293, cluster-observability-operator/logging-console-plugin-rhel9 1793839292, cluster-observability-operator/logging-console-plugin-pf4-rhel9 1793660952, cluster-observability-operator/logging-console-plugin-pf4-rhel9 1793824934, cluster-observability-operator/distributed-tracing-console-plugin-pf4-rhel9 1793661804, cluster-observability-operator/distributed-tracing-console-plugin-pf4-rhel9 1793823428
    fixed: vendor fix RHSA-2026:95591
  • Red Hat Cryostat 4 on RHEL 9 cryostat/cryostat-openshift-console-plugin-rhel9 4.2.0-19
    fixed: vendor fix RHSA-2026:95360
  • Red Hat Discovery 2 discovery/discovery-ui-rhel9 1792603924, discovery/discovery-ui-rhel9 1793218530
    fixed: vendor fix RHSA-2026:92136

11 more fixed, 27 more not affected in the full advisory

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

CISA SSVC

Exploitation
none
Automatable
yes
Technical impact
partial
Assessed
38 d ago

Exploit prediction

0.49% chance of exploitation in the next 30 days, higher than 42% of all scored CVEs (FIRST EPSS, 2026-11-08).

CVSS scores

assigned by version score vector
CNA 3.1 7.5 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
GitHub 3.1 7.5 CVSS:3.1/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
>=4.0.0, <5.0.11
>=3.0.0, <3.0.8
>=2.0.0, <2.1.6
<1.1.20
5.0.11
3.0.8
2.1.6
1.1.20

Affected products

  • juliangruber brace-expansion

Classification

Weakness
  • CWE-400 Uncontrolled Resource Consumption
  • CWE-674 Uncontrolled Recursion

References

Sources

Fencer Vulns 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.