<?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://db.gcve.eu</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>Wed, 30 Sep 2026 21:10:04 +0000</lastBuildDate>
    <item>
      <title>fkie_cve-2026-102277</title>
      <link>https://db.gcve.eu/vuln/fkie_cve-2026-102277</link>
      <description>&lt;p&gt;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.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;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.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://db.gcve.eu/vuln/fkie_cve-2026-102277</guid>
    </item>
    <item>
      <title>GHSA-q2hr-2g5m-vwhr — brace-expansion: Quadratic-time expansion of the `{a},b}` rewrite causes CPU denial of service</title>
      <link>https://db.gcve.eu/vuln/ghsa-q2hr-2g5m-vwhr</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; npm: brace-expansion&lt;/p&gt;
&lt;p&gt;### Summary&lt;/p&gt;
&lt;p&gt;Expanding `{a},b}`-shaped input takes time quadratic in the number of literal `}` characters, blocking the event loop.&lt;/p&gt;
&lt;p&gt;Bash preserves a quirk where a brace group followed by a comma set still expands (`{a},b}`). The parser implements this by rewriting the string and restarting the scan. Each pass absorbs exactly one `}` and re-scans from the beginning, so `n` trailing braces cost `n` full passes.&lt;/p&gt;
&lt;p&gt;### Reproduction&lt;/p&gt;
&lt;p&gt;```js
const build = n =&amp;gt; &amp;#39;{a}&amp;#39; + &amp;#39;}&amp;#39;.repeat(n) + &amp;#39;,z}&amp;#39;&lt;/p&gt;
&lt;p&gt;for (const n of [8000, 16000, 32000, 64000, 128000]) {
  const t = Date.now()
  expand(build(n))
  console.log(n, Date.now() - t + &amp;#39;ms&amp;#39;)
}
```&lt;/p&gt;
&lt;p&gt;| n | input | time | results |
|---|---|---|---|
| 8,000 | 8 KB | 110 ms | 2 |
| 16,000 | 16 KB | 446 ms | 2 |
| 32,000 | 32 KB | 1.7 s | 2 |
| 64,000 | 64 KB | 6.9 s | 2 |
| 128,000 | 128 KB | **27.7 s** | 2 |&lt;/p&gt;
&lt;p&gt;`ms/n^2` is flat at ~1.7 and each doubling of `n` costs exactly 4.0x - quadratic. 128 KB of input blocks the event loop for nearly half a minute to produce two results.&lt;/p&gt;
&lt;p&gt;### Mechanism&lt;/p&gt;
&lt;p&gt;Instrumenting the rewrite branch confirms it runs exactly `n + 1` times, once per literal `}`, each re-scanning the whole string.&lt;/p&gt;
&lt;p&gt;There is a second multiplier. The rewrite replaces the group&amp;#39;s closing `}` with the internal `escClose` sentinel, which is `&amp;#39;\0CLOSE&amp;#39; + Math.random() + &amp;#39;\0&amp;#39;` - about 25 characters. The working string therefore *grows* by ~25 characters on every pass:&lt;/p&gt;
&lt;p&gt;| n | input length | final string length |
|---|---|---|
| 1,000 | 1,006 | 26,006 |
|…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; npm: brace-expansion&lt;/p&gt;
&lt;p&gt;### Summary&lt;/p&gt;
&lt;p&gt;Expanding `{a},b}`-shaped input takes time quadratic in the number of literal `}` characters, blocking the event loop.&lt;/p&gt;
&lt;p&gt;Bash preserves a quirk where a brace group followed by a comma set still expands (`{a},b}`). The parser implements this by rewriting the string and restarting the scan. Each pass absorbs exactly one `}` and re-scans from the beginning, so `n` trailing braces cost `n` full passes.&lt;/p&gt;
&lt;p&gt;### Reproduction&lt;/p&gt;
&lt;p&gt;```js
const build = n =&amp;gt; &amp;#39;{a}&amp;#39; + &amp;#39;}&amp;#39;.repeat(n) + &amp;#39;,z}&amp;#39;&lt;/p&gt;
&lt;p&gt;for (const n of [8000, 16000, 32000, 64000, 128000]) {
  const t = Date.now()
  expand(build(n))
  console.log(n, Date.now() - t + &amp;#39;ms&amp;#39;)
}
```&lt;/p&gt;
&lt;p&gt;| n | input | time | results |
|---|---|---|---|
| 8,000 | 8 KB | 110 ms | 2 |
| 16,000 | 16 KB | 446 ms | 2 |
| 32,000 | 32 KB | 1.7 s | 2 |
| 64,000 | 64 KB | 6.9 s | 2 |
| 128,000 | 128 KB | **27.7 s** | 2 |&lt;/p&gt;
&lt;p&gt;`ms/n^2` is flat at ~1.7 and each doubling of `n` costs exactly 4.0x - quadratic. 128 KB of input blocks the event loop for nearly half a minute to produce two results.&lt;/p&gt;
&lt;p&gt;### Mechanism&lt;/p&gt;
&lt;p&gt;Instrumenting the rewrite branch confirms it runs exactly `n + 1` times, once per literal `}`, each re-scanning the whole string.&lt;/p&gt;
&lt;p&gt;There is a second multiplier. The rewrite replaces the group&amp;#39;s closing `}` with the internal `escClose` sentinel, which is `&amp;#39;\0CLOSE&amp;#39; + Math.random() + &amp;#39;\0&amp;#39;` - about 25 characters. The working string therefore *grows* by ~25 characters on every pass:&lt;/p&gt;
&lt;p&gt;| n | input length | final string length |
|---|---|---|
| 1,000 | 1,006 | 26,006 |
|…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://db.gcve.eu/vuln/ghsa-q2hr-2g5m-vwhr</guid>
    </item>
    <item>
      <title>UBUNTU-CVE-2026-102277</title>
      <link>https://db.gcve.eu/vuln/ubuntu-cve-2026-102277</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Ubuntu:18.04:LTS: node-brace-expansion, Ubuntu:20.04:LTS: node-brace-expansion, Ubuntu:22.04:LTS: node-brace-expansion, Ubuntu:24.04:LTS: node-brace-expansion, Ubuntu:26.04:LTS: node-brace-expansion&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Ubuntu:18.04:LTS: node-brace-expansion, Ubuntu:20.04:LTS: node-brace-expansion, Ubuntu:22.04:LTS: node-brace-expansion, Ubuntu:24.04:LTS: node-brace-expansion, Ubuntu:26.04:LTS: node-brace-expansion&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://db.gcve.eu/vuln/ubuntu-cve-2026-102277</guid>
    </item>
  </channel>
</rss>
