{"id":"CVE-2026-13149","aliases":["GHSA-3jxr-9vmj-r5cp"],"url":"https://o3.security/vulnerability/CVE-2026-13149","summary":"brace-expansion: DoS via exponential-time expansion of consecutive non-expanding {} groups","details":"brace-expansion through 5.0.6 is vulnerable to denial of service. The expand() function exhibits exponential-time complexity in the number of consecutive non-expanding '{}' brace groups. An attacker who passes a crafted string to expand(), directly or transitively, can cause significant CPU consumption and event-loop blocking. The max option does not mitigate this, as it bounds the output size rather than the recursion work.","published":"2026-06-30T08:30:34.502Z","modified":"2026-08-24T17:41:56.793280939Z","cvss":null,"epss":{"score":0.00348,"percentile":0.27492,"asOf":"2026-08-09"},"cisaKev":null,"exploitsKnown":0,"affectedPackages":[{"ecosystem":"npm","name":"brace-expansion","fixedVersion":"5.0.7"},{"ecosystem":"npm","name":"brace-expansion","fixedVersion":"1.1.16"},{"ecosystem":"npm","name":"brace-expansion","fixedVersion":"2.1.2"}],"fix":{"url":"https://github.com/juliangruber/brace-expansion/commit/c7e33ec13ac1a684c116720843ce24e208611754","label":"juliangruber/brace-expansion@c7e33ec"},"references":[{"type":"WEB","url":"https://registry.npmjs.org"},{"type":"WEB","url":"https://www.npmjs.com/package/brace-expansion"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/13xxx/CVE-2026-13149.json"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-13149"},{"type":"FIX","url":"https://github.com/juliangruber/brace-expansion/commit/c7e33ec13ac1a684c116720843ce24e208611754"},{"type":"PACKAGE","url":"https://github.com/juliangruber/brace-expansion"}],"provenance":{"sources":["OSV.dev","FIRST.org (EPSS)"],"lastVerified":"2026-08-24T17:41:56.793280939Z"}}