<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
  <id>https://vulnerability.circl.lu/rss/recent/all/10</id>
  <title>Most recent entries from all</title>
  <updated>2026-10-08T20:12:38.623717+00:00</updated>
  <author>
    <name>Vulnerability-Lookup</name>
    <email>info@circl.lu</email>
  </author>
  <link href="https://vulnerability.circl.lu" rel="alternate"/>
  <generator uri="https://lkiesow.github.io/python-feedgen" version="1.0.0">python-feedgen</generator>
  <subtitle>Contains only the most 10 recent entries.</subtitle>
  <entry>
    <id>https://vulnerability.circl.lu/vuln/fkie_cve-2026-106447</id>
    <title>fkie_cve-2026-106447</title>
    <updated>2026-10-08T20:12:39.963636+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>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.</p>
      </div>
    </content>
    <link href="https://vulnerability.circl.lu/vuln/fkie_cve-2026-106447"/>
  </entry>
  <entry>
    <id>https://vulnerability.circl.lu/vuln/ghsa-5jg4-p4qw-cgfr</id>
    <title>GHSA-5jg4-p4qw-cgfr — @stablelib/cbor: Stack exhaustion Denial of Service via deeply nested CBOR arrays, maps, or tags</title>
    <updated>2026-10-08T20:12:39.963758+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> npm: @stablelib/cbor</p>
<p>### Summary</p>
<p>`@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`.</p>
<p>### Details</p>
<p>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.</p>
<p>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.</p>
<p>### PoC</p>
<p>```js
import { decode } from "@stablelib/cbor";</p>
<p>const depth = 12000;
const payload = new Uint8Array(depth + 1);</p>
<p>// Build [[[...[null]...]]]
payload.fill(0x81, 0, depth); // array(1)
payload[depth] = 0xf6;        // null</p>
<p>decode(payload);
// RangeError: Maximum call stack size exceeded
```</p>
<p>### Impact</p>
<p>Any application that decodes attacker-controlled CBOR can be forced into a reliable denial of service with a single crafted payload.</p>
<p>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.</p>
<p>### Solution</p>
<p>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…</p></div>
    </content>
    <link href="https://vulnerability.circl.lu/vuln/ghsa-5jg4-p4qw-cgfr"/>
  </entry>
</feed>
