Description
A vulnerability was found in juliangruber brace-expansion up to 1.1.11/2.0.1/3.0.0/4.0.0. It has been rated as problematic. Affected by this issue is the function expand of the file index.js. The manipulation leads to inefficient regular expression complexity. The attack may be launched remotely. The complexity of an attack is rather high. The exploitation is known to be difficult. The exploit has been disclosed to the public and may be used. Upgrading to version 1.1.12, 2.0.2, 3.0.1 and 4.0.1 is able to address this issue. The name of the patch is a5b98a4f30d7813266b221435e1eaaf25a1b0ac5. It is recommended to upgrade the affected component.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| juliangruber | brace-expansion | 1.1.0, 1.1.1, 1.1.2, 1.1.3, 1.1.4, 1.1.5, 1.1.6, 1.1.7, 1.1.8, 1.1.9, 1.1.10, 1.1.11, 2.0.0, 2.0.1, 3.0, 4.0 | 1.1.12 |
Fixed in Linux distributions
Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.
Debian
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Debian 14 | node-brace-expansion | 2.0.1+~1.1.0-2 | — |
| Debian 13 | node-brace-expansion | 2.0.1+~1.1.0-2 | — |
| Debian 12 | node-brace-expansion | No fix yet | — |
Ubuntu
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu 25.10 | node-brace-expansion | No fix yet | — |
| Ubuntu 24.04 LTS | node-brace-expansion | No fix yet | — |
| Ubuntu 22.04 LTS | node-brace-expansion | No fix yet | — |
| Ubuntu 20.04 LTS | node-brace-expansion | No fix yet | — |
| Ubuntu 18.04 LTS | node-brace-expansion | No fix yet | — |
SUSE
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| SLES 15 SP7 | aws-cli | 1.33.26-150400.34.7.1 | SUSE-SU-2025:3744-1 |
| SLES 15 SP6 | aws-cli | 1.33.26-150400.34.7.1 | SUSE-SU-2025:3744-1 |
| SLES 15 SP6 | python-boto3 | 1.34.138-150400.27.7.1 | SUSE-SU-2025:3744-1 |
| SLES 15 SP6 | python-botocore | 1.34.144-150400.41.7.1 | SUSE-SU-2025:3744-1 |
| SLES 15 SP6 | python-coverage | 7.6.10-150400.12.6.1 | SUSE-SU-2025:3744-1 |
| SLES 15 SP5 | aws-cli | 1.33.26-150400.34.7.1 | SUSE-SU-2025:3744-1 |
| SLES 15 SP5 | python-boto3 | 1.34.138-150400.27.7.1 | SUSE-SU-2025:3744-1 |
| SLES 15 SP5 | python-botocore | 1.34.144-150400.41.7.1 | SUSE-SU-2025:3744-1 |
| SLES 15 SP5 | python-coverage | 7.6.10-150400.12.6.1 | SUSE-SU-2025:3744-1 |
| SLES 15 SP5 | python-pluggy | 1.5.0-150400.14.10.1 | SUSE-SU-2025:3744-1 |
| SLES 15 SP5 | python-pytest | 8.3.5-150400.3.9.1 | SUSE-SU-2025:3744-1 |
| SLES 15 SP5 | python-pytest-cov | 6.2.1-150400.12.6.1 | SUSE-SU-2025:3744-1 |
| SLES 15 SP5 | python-pytest-mock | 3.14.0-150400.13.6.1 | SUSE-SU-2025:3744-1 |
| SLES 15 SP4 | aws-cli | 1.33.26-150400.34.7.1 | SUSE-SU-2025:3744-1 |
| SLES 15 SP4 | python-boto3 | 1.34.138-150400.27.7.1 | SUSE-SU-2025:3744-1 |
| SLES 15 SP4 | python-botocore | 1.34.144-150400.41.7.1 | SUSE-SU-2025:3744-1 |
| SLES 15 SP4 | python-coverage | 7.6.10-150400.12.6.1 | SUSE-SU-2025:3744-1 |
| SLES 15 SP4 | python-pluggy | 1.5.0-150400.14.10.1 | SUSE-SU-2025:3744-1 |
| SLES 15 SP4 | python-pytest | 8.3.5-150400.3.9.1 | SUSE-SU-2025:3744-1 |
| SLES 15 SP4 | python-pytest-cov | 6.2.1-150400.12.6.1 | SUSE-SU-2025:3744-1 |
| SLES 15 SP4 | python-pytest-mock | 3.14.0-150400.13.6.1 | SUSE-SU-2025:3744-1 |
| SLES 3 | python-boto3 | 1.34.138-150400.27.7.1 | SUSE-SU-2025:3744-1 |
| SLES 3 | python-botocore | 1.34.144-150400.41.7.1 | SUSE-SU-2025:3744-1 |
| SLES 3 | python-coverage | 7.6.10-150400.12.6.1 | SUSE-SU-2025:3744-1 |
| SLES 3 | python-pluggy | 1.5.0-150400.14.10.1 | SUSE-SU-2025:3744-1 |
| SLES 3 | python-pytest | 8.3.5-150400.3.9.1 | SUSE-SU-2025:3744-1 |
| SLES 3 | python-pytest-cov | 6.2.1-150400.12.6.1 | SUSE-SU-2025:3744-1 |
| SLES 3 | python-pytest-mock | 3.14.0-150400.13.6.1 | SUSE-SU-2025:3744-1 |
Show 4 more (older releases, extended support, other products)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| SLES for SAP 15 SP5 | python-coverage | 7.6.10-150400.12.6.1 | SUSE-SU-2025:3744-1 |
| SLES for SAP 15 SP5 | python-pluggy | 1.5.0-150400.14.10.1 | SUSE-SU-2025:3744-1 |
| SLES for SAP 15 SP5 | python-pytest | 8.3.5-150400.3.9.1 | SUSE-SU-2025:3744-1 |
| SLES for SAP 15 SP5 | python-pytest-cov | 6.2.1-150400.12.6.1 | SUSE-SU-2025:3744-1 |
| SLES for SAP 15 SP5 | python-pytest-mock | 3.14.0-150400.13.6.1 | SUSE-SU-2025:3744-1 |
| SLES for SAP 15 SP4 | python-coverage | 7.6.10-150400.12.6.1 | SUSE-SU-2025:3744-1 |
| SLES for SAP 15 SP4 | python-pluggy | 1.5.0-150400.14.10.1 | SUSE-SU-2025:3744-1 |
| SLES for SAP 15 SP4 | python-pytest | 8.3.5-150400.3.9.1 | SUSE-SU-2025:3744-1 |
| SLES for SAP 15 SP4 | python-pytest-cov | 6.2.1-150400.12.6.1 | SUSE-SU-2025:3744-1 |
| SLES for SAP 15 SP4 | python-pytest-mock | 3.14.0-150400.13.6.1 | SUSE-SU-2025:3744-1 |
| SLE HPC 15 SP5 | python-coverage | 7.6.10-150400.12.6.1 | SUSE-SU-2025:3744-1 |
| SLE HPC 15 SP5 | python-pluggy | 1.5.0-150400.14.10.1 | SUSE-SU-2025:3744-1 |
| SLE HPC 15 SP5 | python-pytest | 8.3.5-150400.3.9.1 | SUSE-SU-2025:3744-1 |
| SLE HPC 15 SP5 | python-pytest-cov | 6.2.1-150400.12.6.1 | SUSE-SU-2025:3744-1 |
| SLE HPC 15 SP5 | python-pytest-mock | 3.14.0-150400.13.6.1 | SUSE-SU-2025:3744-1 |
| SLE HPC 15 SP4 | python-coverage | 7.6.10-150400.12.6.1 | SUSE-SU-2025:3744-1 |
| SLE HPC 15 SP4 | python-pluggy | 1.5.0-150400.14.10.1 | SUSE-SU-2025:3744-1 |
| SLE HPC 15 SP4 | python-pytest | 8.3.5-150400.3.9.1 | SUSE-SU-2025:3744-1 |
| SLE HPC 15 SP4 | python-pytest-cov | 6.2.1-150400.12.6.1 | SUSE-SU-2025:3744-1 |
| SLE HPC 15 SP4 | python-pytest-mock | 3.14.0-150400.13.6.1 | SUSE-SU-2025:3744-1 |
openSUSE
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| openSUSE Tumbleweed | python-bqplot | 0.12.45-10.1 | openSUSE-SU-2025:15269-1 |
| openSUSE Tumbleweed | python-furo | 2024.8.6-3.1 | openSUSE-SU-2025:15270-1 |
| openSUSE Tumbleweed | python-ipympl | 0.9.4-15.1 | openSUSE-SU-2025:15271-1 |
| openSUSE Tumbleweed | python-jupyter-ydoc | 3.1.0-1.1 | openSUSE-SU-2025:15273-1 |
| openSUSE Tumbleweed | python-jupyterlab-templates | 0.5.2-2.1 | openSUSE-SU-2025:15274-1 |
| openSUSE Tumbleweed | python-nbclassic | 1.3.1-1.1 | openSUSE-SU-2025:15275-1 |
| openSUSE Tumbleweed | python-nbdime | 4.0.2-20.1 | openSUSE-SU-2025:15276-1 |
| openSUSE Tumbleweed | python-panel | 1.7.1-1.1 | openSUSE-SU-2025:15277-1 |
| openSUSE Tumbleweed | python-plotly | 6.1.2-1.1 | openSUSE-SU-2025:15278-1 |
| openSUSE Tumbleweed | python-pydata-sphinx-theme | 0.16.1-1.1 | openSUSE-SU-2025:15279-1 |
| openSUSE Tumbleweed | python-pytest-html | 4.1.1-6.1 | openSUSE-SU-2025:15280-1 |
| openSUSE Tumbleweed | tree-sitter-ruby | 0.23.1-2.1 | openSUSE-SU-2025:15582-1 |
| openSUSE Tumbleweed | velociraptor | 0.7.0.4.git185.a5708584-2.1 | openSUSE-SU-2026:11126-1 |
| openSUSE Leap 16.0 | tree-sitter-ruby | 0.23.1-160000.3.1 | openSUSE-SU-2026:20998-1 |
| openSUSE Leap 15.6 | aws-cli | 1.33.26-150400.34.7.1 | SUSE-SU-2025:3744-1 |
| openSUSE Leap 15.6 | python-boto3 | 1.34.138-150400.27.7.1 | SUSE-SU-2025:3744-1 |
| openSUSE Leap 15.6 | python-botocore | 1.34.144-150400.41.7.1 | SUSE-SU-2025:3744-1 |
| openSUSE Leap 15.6 | python-coverage | 7.6.10-150400.12.6.1 | SUSE-SU-2025:3744-1 |
| openSUSE Leap 15.6 | python-flaky | 3.8.1-150400.14.6.1 | SUSE-SU-2025:3744-1 |
| openSUSE Leap 15.6 | python-pluggy | 1.5.0-150400.14.10.1 | SUSE-SU-2025:3744-1 |
| openSUSE Leap 15.6 | python-pytest | 8.3.5-150400.3.9.1 | SUSE-SU-2025:3744-1 |
| openSUSE Leap 15.6 | python-pytest-cov | 6.2.1-150400.12.6.1 | SUSE-SU-2025:3744-1 |
| openSUSE Leap 15.6 | python-pytest-mock | 3.14.0-150400.13.6.1 | SUSE-SU-2025:3744-1 |
Alpine
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Alpine v3.22 | npm | 11.4.2-r0 | — |
Amazon Linux
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Amazon Linux 2023 | nodejs +4 | 1:18.20.8-1.amzn2023.0.2 | ALAS2023-2025-1123 |
| Amazon Linux 2023 | nodejs-npm | 1:10.8.2-1.18.20.8.1.amzn2023.0.2 | ALAS2023-2025-1123 |
| Amazon Linux 2023 | nodejs20 +4 | 1:20.20.1-1.amzn2023.0.2 | ALAS2023-2026-1484 |
| Amazon Linux 2023 | nodejs20-npm | 1:10.8.2-1.20.20.1.1.amzn2023.0.2 | ALAS2023-2026-1484 |
| Amazon Linux 2023 | nodejs22 +4 | 1:22.22.0-1.amzn2023.0.2 | ALAS2023-2026-1465 |
| Amazon Linux 2023 | nodejs22-npm | 1:10.9.4-1.22.22.0.1.amzn2023.0.2 | ALAS2023-2026-1465 |
| Amazon Linux 2023 | v8-10.2-devel | 3:10.2.154.26-1.18.20.8.1.amzn2023.0.2 | ALAS2023-2025-1123 |
| Amazon Linux 2023 | v8-11.3-devel | 3:11.3.244.8-1.20.20.1.1.amzn2023.0.2 | ALAS2023-2026-1484 |
| Amazon Linux 2023 | v8-12.4-devel | 3:12.4.254.21-1.22.22.0.1.amzn2023.0.2 | ALAS2023-2026-1465 |
Azure Linux
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Azure Linux 3 | js-jquery +1 | No fix yet | — |
| Azure Linux 2 (CBL-Mariner) | js-jquery +1 | No fix yet | — |
| Azure Linux 2 (CBL-Mariner) | nodejs18 | 18.20.3-9 | — |
Wolfi
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Wolfi rolling | argo-workflows | 3.6.10-r1 | — |
| Wolfi rolling | code-server +1 | 4.100.3-r1 | — |
| Wolfi rolling | eslint | 9.29.0-r0 | — |
| Wolfi rolling | jupyter-base-notebook | 7.6.1-r0 | — |
| Wolfi rolling | kubeflow-centraldashboard | 1.10.0-r1 | — |
| Wolfi rolling | kubeflow-pipelines +11 | 2.5.0-r3 | — |
| Wolfi rolling | langfuse-3 +1 | 3.179.1-r3 | — |
| Wolfi rolling | langfuse-3-compat | 3.225.7-r6 | — |
| Wolfi rolling | lerna | 8.2.2-r2 | — |
| Wolfi rolling | node-gyp | 11.3.0-r0 | — |
| Wolfi rolling | npm +1 | 11.4.2-r0 | — |
| Wolfi rolling | opensearch-dashboards-3 +13 | 3.0.0-r1 | — |
| Wolfi rolling | pnpm-stage0 | No fix yet | — |
| Wolfi rolling | prism | 5.14.2-r2 | — |
| Wolfi rolling | pulumi +3 | 3.176.0-r0 | — |
| Wolfi rolling | py3.10-jupyterlab +3 | 4.6.1-r1 | — |
| Wolfi rolling | rancher-api-ui | 1.2.3-r1 | — |
| Wolfi rolling | renovate | 40.51.0-r0 | — |
| Wolfi rolling | sqlpad +1 | 7.5.4-r0 | — |
| Wolfi rolling | tileserver-gl +1 | 5.3.1-r4 | — |
| Wolfi rolling | ts-patch | 4.0.1-r0 | — |
| Wolfi rolling | vitess-23 | 23.0.1-r0 | — |
Affected packages
| Ecosystem | Package | Affected | Fixed | Record |
|---|---|---|---|---|
| npm | brace-expansion | >= 2.0.0, < 2.0.2 | 2.0.2 | GHSA-v6h2-p8h4-qcjw |
| npm | brace-expansion | >= 1.0.0, < 1.1.12 | 1.1.12 | GHSA-v6h2-p8h4-qcjw |
| npm | brace-expansion | >= 3.0.0, < 3.0.1 | 3.0.1 | GHSA-v6h2-p8h4-qcjw |
| npm | brace-expansion | >= 4.0.0, < 4.0.1 | 4.0.1 | GHSA-v6h2-p8h4-qcjw |
Advisories 22
- openSUSE-SU-2026:20998-1 Security update for tree-sitter-ruby SUSE / openSUSE Security Updates · Jun 30, 2026
- openSUSE-SU-2026:11126-1 velociraptor-0.7.0.4.git185.a5708584-2.1 on GA media SUSE / openSUSE Security Updates · Jun 26, 2026
- ALAS2023-2026-1484 Important: nodejs20 security update (Amazon Linux 2023) Amazon Linux Security Center (ALAS) · Mar 27, 2026
- openSUSE-SU-2025:15582-1 tree-sitter-ruby-0.23.1-2.1 on GA media SUSE / openSUSE Security Updates · Mar 23, 2026
- openSUSE-SU-2025:15273-1 python311-jupyter-ydoc-3.1.0-1.1 on GA media SUSE / openSUSE Security Updates · Mar 23, 2026
- openSUSE-SU-2025:15274-1 jupyter-jupyterlab-templates-0.5.2-2.1 on GA media SUSE / openSUSE Security Updates · Mar 23, 2026
- openSUSE-SU-2025:15275-1 jupyter-nbclassic-1.3.1-1.1 on GA media SUSE / openSUSE Security Updates · Mar 23, 2026
- openSUSE-SU-2025:15276-1 jupyter-nbdime-7.0.2-20.1 on GA media SUSE / openSUSE Security Updates · Mar 23, 2026
- openSUSE-SU-2025:15277-1 jupyter-panel-1.7.1-1.1 on GA media SUSE / openSUSE Security Updates · Mar 23, 2026
- openSUSE-SU-2025:15278-1 jupyter-plotly-6.1.2-1.1 on GA media SUSE / openSUSE Security Updates · Mar 23, 2026
- openSUSE-SU-2025:15279-1 python311-pydata-sphinx-theme-0.16.1-1.1 on GA media SUSE / openSUSE Security Updates · Mar 23, 2026
- openSUSE-SU-2025:15271-1 jupyter-matplotlib-0.11.4-15.1 on GA media SUSE / openSUSE Security Updates · Mar 23, 2026
- openSUSE-SU-2025:15280-1 python311-pytest-html-4.1.1-6.1 on GA media SUSE / openSUSE Security Updates · Mar 23, 2026
- openSUSE-SU-2025:15269-1 jupyter-bqplot-jupyterlab-0.5.44-10.1 on GA media SUSE / openSUSE Security Updates · Mar 23, 2026
- openSUSE-SU-2025:15270-1 python-furo-doc-2024.8.6-3.1 on GA media SUSE / openSUSE Security Updates · Mar 23, 2026
- ALAS2023-2026-1465 Important: nodejs22 security update (Amazon Linux 2023) Amazon Linux Security Center (ALAS) · Mar 5, 2026
- SUSE-SU-2025:3744-1 Security update for aws-cli, local-npm-registry, python-boto3, python-botocore, python-coverage, python-flaky, python-pluggy, python-pytest, python-pytest-cov, python-pytest-html, python-pytest-metadata, python-pytest-mock SUSE / openSUSE Security Updates · Feb 4, 2026
- WID-SEC-2025-2072 IBM App Connect Enterprise: Schwachstelle ermöglicht Denial of Service BSI CERT-Bund (WID) · Jan 25, 2026
- WID-SEC-2025-2361 Oracle Communications: Mehrere Schwachstellen BSI CERT-Bund (WID) · Nov 17, 2025
- WID-SEC-2025-2360 Oracle Communications Applications: Mehrere Schwachstellen BSI CERT-Bund (WID) · Nov 17, 2025
- NCSC-2025-0330 Kwetsbaarheden verholpen in Oracle Communications producten NCSC-NL (Netherlands) · Oct 23, 2025
- ALAS2023-2025-1123 Moderate: nodejs security update (Amazon Linux 2023) Amazon Linux Security Center (ALAS) · Aug 8, 2025
References
- VDB-311660 | juliangruber brace-expansion index.js expand redos vdb-entry technical-description
- VDB-311660 | CTI Indicators (IOB, IOC, TTP, IOA) signature permissions-required
- Submit #585717 | juliangruber @juliangruber/brace-expansion 1.1.11 Inefficient Regular Expression Complexity third-party-advisory
- https://gist.github.com/mmmsssttt404/37a40ce7d6e5ca604858fe30814d9466 exploit
- https://github.com/juliangruber/brace-expansion/pull/65/commits/a5b98a4f30d7813266b221435e1eaaf25a1b0ac5 issue-tracking patch
- https://github.com/juliangruber/brace-expansion/releases/tag/v4.0.1 patch