CVE-2025-5889:
brace-expansion Regular Expression Denial of Service Vulnerability
3.1
Basic Information
Technical Details
Package Name | Ecosystem | Vulnerable Versions | First Patched Version |
---|---|---|---|
brace-expansion | npm | >= 2.0.1, <= 4.0.0 |
Vulnerability Intelligence
Miggo AI
Root Cause Analysis
The vulnerability is a Regular Expression Denial of Service (ReDoS) in the brace-expansion
npm package. The provided information explicitly states that the expand
function in index.js
is affected. I attempted to fetch structured commit information using get_commit_infos
and get_commit_urls_from_pull_request
, but these attempts failed. However, I was able to fetch the content of the commit page using fetch_url_content
. This content included the diff for index.js
, showing a change in a regular expression within the expand
function. The original regex /,.*}/
was replaced by /,(?!,).*}/
. This type of change is characteristic of a ReDoS fix, where an inefficient regex is replaced with a more performant one. The vulnerability description confirms that the issue is related to inefficient regular expression complexity. Therefore, the expand
function is identified as the vulnerable function because it contained the problematic regex prior to the patch.
Vulnerable functions
expand
index.js