<?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>Thu, 08 Oct 2026 20:12:37 +0000</lastBuildDate>
    <item>
      <title>fkie_cve-2026-106447</title>
      <link>https://vulnerability.circl.lu/vuln/fkie_cve-2026-106447</link>
      <description>&lt;p&gt;StableLib is a stable library of useful TypeScript and JavaScript code. Prior to 2.0.4, the @stablelib/cbor decoder recursively processes nested CBOR arrays, maps, and tags through _decodeValue() without enforcing a maximum nesting depth. A sufficiently deep structure exhausts the JavaScript call stack, causing a decoding exception and potentially terminating an uncaught request worker or process. This issue is fixed in version 2.0.4.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;StableLib is a stable library of useful TypeScript and JavaScript code. Prior to 2.0.4, the @stablelib/cbor decoder recursively processes nested CBOR arrays, maps, and tags through _decodeValue() without enforcing a maximum nesting depth. A sufficiently deep structure exhausts the JavaScript call stack, causing a decoding exception and potentially terminating an uncaught request worker or process. This issue is fixed in version 2.0.4.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/fkie_cve-2026-106447</guid>
    </item>
    <item>
      <title>GHSA-5jg4-p4qw-cgfr — @stablelib/cbor: Stack exhaustion Denial of Service via deeply nested CBOR arrays, maps, or tags</title>
      <link>https://vulnerability.circl.lu/vuln/ghsa-5jg4-p4qw-cgfr</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; npm: @stablelib/cbor&lt;/p&gt;
&lt;p&gt;### Summary&lt;/p&gt;
&lt;p&gt;`@stablelib/cbor` decodes nested CBOR structures recursively and does not enforce a maximum nesting depth. A sufficiently deep attacker-controlled CBOR payload can therefore crash decoding with `RangeError: Maximum call stack size exceeded`.&lt;/p&gt;
&lt;p&gt;### Details&lt;/p&gt;
&lt;p&gt;The decoder processes arrays, maps, and tagged values through recursive calls. Each nested container causes another descent into `_decodeValue()` until a leaf value is reached.&lt;/p&gt;
&lt;p&gt;There is no depth limit, no iterative fallback, and no protection against pathological nesting. An attacker can therefore supply a payload made of thousands of nested arrays, maps, or tags and force the decoder to recurse until the JavaScript call stack is exhausted.&lt;/p&gt;
&lt;p&gt;### PoC&lt;/p&gt;
&lt;p&gt;```js
import { decode } from &amp;#34;@stablelib/cbor&amp;#34;;&lt;/p&gt;
&lt;p&gt;const depth = 12000;
const payload = new Uint8Array(depth + 1);&lt;/p&gt;
&lt;p&gt;// Build [[[...[null]...]]]
payload.fill(0x81, 0, depth); // array(1)
payload[depth] = 0xf6;        // null&lt;/p&gt;
&lt;p&gt;decode(payload);
// RangeError: Maximum call stack size exceeded
```&lt;/p&gt;
&lt;p&gt;### Impact&lt;/p&gt;
&lt;p&gt;Any application that decodes attacker-controlled CBOR can be forced into a reliable denial of service with a single crafted payload.&lt;/p&gt;
&lt;p&gt;The immediate result is an exception during decoding. In services that do not catch that exception safely, the request fails and the worker or process handling the decode may terminate.&lt;/p&gt;
&lt;p&gt;### Solution&lt;/p&gt;
&lt;p&gt;Upgrade to version 2.0.4. The stack is limited to 128 by default, but can be configured using the `maxDepth` option. Catch the `CBORM…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; npm: @stablelib/cbor&lt;/p&gt;
&lt;p&gt;### Summary&lt;/p&gt;
&lt;p&gt;`@stablelib/cbor` decodes nested CBOR structures recursively and does not enforce a maximum nesting depth. A sufficiently deep attacker-controlled CBOR payload can therefore crash decoding with `RangeError: Maximum call stack size exceeded`.&lt;/p&gt;
&lt;p&gt;### Details&lt;/p&gt;
&lt;p&gt;The decoder processes arrays, maps, and tagged values through recursive calls. Each nested container causes another descent into `_decodeValue()` until a leaf value is reached.&lt;/p&gt;
&lt;p&gt;There is no depth limit, no iterative fallback, and no protection against pathological nesting. An attacker can therefore supply a payload made of thousands of nested arrays, maps, or tags and force the decoder to recurse until the JavaScript call stack is exhausted.&lt;/p&gt;
&lt;p&gt;### PoC&lt;/p&gt;
&lt;p&gt;```js
import { decode } from &amp;#34;@stablelib/cbor&amp;#34;;&lt;/p&gt;
&lt;p&gt;const depth = 12000;
const payload = new Uint8Array(depth + 1);&lt;/p&gt;
&lt;p&gt;// Build [[[...[null]...]]]
payload.fill(0x81, 0, depth); // array(1)
payload[depth] = 0xf6;        // null&lt;/p&gt;
&lt;p&gt;decode(payload);
// RangeError: Maximum call stack size exceeded
```&lt;/p&gt;
&lt;p&gt;### Impact&lt;/p&gt;
&lt;p&gt;Any application that decodes attacker-controlled CBOR can be forced into a reliable denial of service with a single crafted payload.&lt;/p&gt;
&lt;p&gt;The immediate result is an exception during decoding. In services that do not catch that exception safely, the request fails and the worker or process handling the decode may terminate.&lt;/p&gt;
&lt;p&gt;### Solution&lt;/p&gt;
&lt;p&gt;Upgrade to version 2.0.4. The stack is limited to 128 by default, but can be configured using the `maxDepth` option. Catch the `CBORM…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/ghsa-5jg4-p4qw-cgfr</guid>
    </item>
  </channel>
</rss>
