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.
{
"cna_assigner": "GitHub_M",
"cwe_ids": [
"CWE-400",
"CWE-407"
],
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/102xxx/CVE-2026-102277.json"
}{
"extracted_events": [
{
"introduced": "4.0.0"
},
{
"fixed": "5.0.12"
},
{
"introduced": "3.0.0"
},
{
"fixed": "3.0.9"
},
{
"introduced": "2.0.0"
},
{
"fixed": "2.1.7"
},
{
"introduced": "0"
},
{
"fixed": "1.1.21"
}
],
"source": [
"AFFECTED_FIELD",
"REFERENCES"
]
}