{
  "affected": [
    {
      "ranges": [
        {
          "database_specific": {
            "extracted_events": [
              {
                "introduced": "4.0.0"
              },
              {
                "fixed": "5.0.11"
              },
              {
                "introduced": "3.0.0"
              },
              {
                "fixed": "3.0.8"
              },
              {
                "introduced": "2.0.0"
              },
              {
                "fixed": "2.1.6"
              },
              {
                "introduced": "0"
              },
              {
                "fixed": "1.1.20"
              }
            ],
            "source": [
              "AFFECTED_FIELD",
              "REFERENCES"
            ]
          },
          "events": [
            {
              "introduced": "6a39bdddcf944374b475d99b0e8292d3727c7ebe"
            },
            {
              "introduced": "b01a637b0578a7c59acc7d8386f11f8d0710b512"
            },
            {
              "introduced": "0b6a022491103b806770bc037654744bef3e63be"
            },
            {
              "introduced": "0"
            },
            {
              "fixed": "82479277b90f2f86263e946f9ff89689b3734568"
            },
            {
              "fixed": "8bebb261fd9249c3bac705eea15d06c4ea788d5e"
            },
            {
              "fixed": "5a5c07b25ea84a899322ebb820336260277cbe90"
            },
            {
              "fixed": "c6513ad31e08edb56dc414a629e39cba724b7548"
            },
            {
              "fixed": "1efee7c397c191da6287a78ec19512476a966a7b"
            },
            {
              "fixed": "935d78f32f335b2ff76578e5c5e877d31ae9888c"
            },
            {
              "fixed": "de84f144e9816f30e25fc8179e2e1249ab6df0db"
            }
          ],
          "repo": "https://github.com/juliangruber/brace-expansion",
          "type": "GIT"
        }
      ]
    }
  ],
  "aliases": [
    "GHSA-qhr7-859c-m2p7"
  ],
  "database_specific": {
    "cna_assigner": "GitHub_M",
    "cwe_ids": [
      "CWE-400",
      "CWE-674"
    ],
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/102xxx/CVE-2026-102278.json"
  },
  "details": "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.",
  "id": "CVE-2026-102278",
  "modified": "2026-09-30T03:31:03.830798699Z",
  "published": "2026-09-28T20:57:09.850Z",
  "references": [
    {
      "type": "ADVISORY",
      "url": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/102xxx/CVE-2026-102278.json"
    },
    {
      "type": "ADVISORY",
      "url": "https://github.com/juliangruber/brace-expansion/security/advisories/GHSA-qhr7-859c-m2p7"
    },
    {
      "type": "ADVISORY",
      "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-102278"
    },
    {
      "type": "FIX",
      "url": "https://github.com/juliangruber/brace-expansion/commit/1efee7c397c191da6287a78ec19512476a966a7b"
    },
    {
      "type": "FIX",
      "url": "https://github.com/juliangruber/brace-expansion/commit/935d78f32f335b2ff76578e5c5e877d31ae9888c"
    },
    {
      "type": "FIX",
      "url": "https://github.com/juliangruber/brace-expansion/commit/de84f144e9816f30e25fc8179e2e1249ab6df0db"
    }
  ],
  "schema_version": "1.9.0",
  "severity": [
    {
      "score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H",
      "type": "CVSS_V3"
    }
  ],
  "summary": "brace-expansion: DoS via uncontrolled recursion on nested brace groups causing stack exhaustion"
}