Skip to content
Heist/ feed
Back to feed
Medium

stream-json: FlexAssembler string/RegExp path filters join the full key stack per container start, giving O(depth^2) CPU denial of service

Type: advisorySources: Official CVE List

stream-json is a micro-library of stream components for processing JSON and JSONC with a minimal memory footprint. From 2.0.0 until 3.7.0, FlexAssembler compiles string and regular-expression path filters into matchers that join the full key stack on every container start. Because the key stack grows with unbounded object or array nesting, a document nested to depth D causes D joins whose cost grows with the current depth, resulting in quadratic CPU consumption on the single-threaded event loop. The join occurs before the rule match decision, so the attacker does not need to know the target schema. Consumers using only function filters or no rules are not affected. A crafted nested document can stall all concurrent work in a process that feeds it to an affected FlexAssembler. This issue is fixed in 3.7.0, which adds a default maximum depth.

Products
stream-json
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2026-114129
Confirmed fixed CVEs
Not specified
Updated in this feed
1 Nov 2026, 20:23 UTC · Revision 2

Source evidence

stream-json: FlexAssembler string/RegExp path filters join the full key stack per container start, giving O(depth^2) CPU denial of service

core-cve · Original source

Published 21 Oct 2026, 17:34 UTC

stream-json is a micro-library of stream components for processing JSON and JSONC with a minimal memory footprint. From 2.0.0 until 3.7.0, FlexAssembler compiles string and regular-expression path filters into matchers that join the full key stack on every container start. Because the key stack grows with unbounded object or array nesting, a document nested to depth D causes D joins whose cost grows with the current depth, resulting in quadratic CPU consumption on the single-threaded event loop. The join occurs before the rule match decision, so the attacker does not need to know the target schema. Consumers using only function filters or no rules are not affected. A crafted nested document can stall all concurrent work in a process that feeds it to an affected FlexAssembler. This issue is fixed in 3.7.0, which adds a default maximum depth.

cve:CVE-2026-114129

stream-json

Fixed versions: Not specified

Complete source record
{
  "id": "0387670f7b283969bd5141c9ca87a12c7f0049f4c350a17f42ca0ec951378826",
  "url": "https://www.cve.org/CVERecord?id=CVE-2026-114129",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "stream-json: FlexAssembler string/RegExp path filters join the full key stack per container start, giving O(depth^2) CPU denial of service",
    "summary": "stream-json is a micro-library of stream components for processing JSON and JSONC with a minimal memory footprint. From 2.0.0 until 3.7.0, FlexAssembler compiles string and regular-expression path filters into matchers that join the full key stack on every container start. Because the key stack grows with unbounded object or array nesting, a document nested to depth D causes D joins whose cost grows with the current depth, resulting in quadratic CPU consumption on the single-threaded event loop. The join occurs before the rule match decision, so the attacker does not need to know the target schema. Consumers using only function filters or no rules are not affected. A crafted nested document can stall all concurrent work in a process that feeds it to an affected FlexAssembler. This issue is fixed in 3.7.0, which adds a default maximum depth.",
    "evidence": "cve:CVE-2026-114129",
    "products": [
      {
        "name": {
          "value": "stream-json",
          "evidence": "/containers/cna/affected/0/product"
        },
        "prerequisites": [],
        "fixed_versions": [],
        "affected_versions": []
      }
    ],
    "severity": "medium",
    "structured": {
      "id": "CVE-2026-114129",
      "aliases": [
        "CVE-2026-114129"
      ],
      "metrics": [
        {
          "cvssV3_1": {
            "scope": "UNCHANGED",
            "version": "3.1",
            "baseScore": 6.2,
            "attackVector": "LOCAL",
            "baseSeverity": "MEDIUM",
            "vectorString": "CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H",
            "integrityImpact": "NONE",
            "userInteraction": "NONE",
            "attackComplexity": "LOW",
            "availabilityImpact": "HIGH",
            "privilegesRequired": "NONE",
            "confidentialityImpact": "NONE"
          }
        }
      ],
      "affected": [
        {
          "vendor": "uhop",
          "product": "stream-json",
          "versions": [
            {
              "status": "affected",
              "version": ">= 2.0.0, < 3.7.0"
            }
          ]
        }
      ],
      "modified": "2026-10-28T17:16:23.694Z",
      "provider": "cve",
      "references": [
        "https://github.com/uhop/stream-json/security/advisories/GHSA-jj87-hc4r-jwfw",
        "https://github.com/uhop/stream-json/commit/1929fd80495d45b47e8f8cb1d4e132f915aef012",
        "https://github.com/uhop/stream-json/commit/c06c9a3c02adef89543e26ecebb45837cb284512",
        "https://github.com/uhop/stream-json/releases/tag/3.7.0"
      ],
      "provider_metadata": {
        "adp": [
          {
            "title": "CISA ADP Vulnrichment",
            "metrics": [
              {
                "other": {
                  "type": "ssvc",
                  "content": {
                    "id": "CVE-2026-114129",
                    "role": "CISA Coordinator",
                    "options": [
                      {
                        "Exploitation": "poc"
                      },
                      {
                        "Automatable": "no"
                      },
                      {
                        "Technical Impact": "partial"
                      }
                    ],
                    "version": "2.0.3",
                    "timestamp": "2026-10-28T17:15:56.058164Z"
                  }
                }
              }
            ],
            "references": [
              {
                "url": "https://github.com/uhop/stream-json/security/advisories/GHSA-jj87-hc4r-jwfw",
                "tags": [
                  "exploit"
                ]
              }
            ],
            "providerMetadata": {
              "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
              "shortName": "CISA-ADP",
              "dateUpdated": "2026-10-28T17:16:23.694Z"
            }
          }
        ],
        "cna": {
          "orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
          "shortName": "GitHub_M",
          "dateUpdated": "2026-10-21T17:34:48.034Z"
        }
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-114129",
        "evidence": "/cveMetadata/cveId"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/containers/cna/metrics"
  },
  "source_id": "core-cve",
  "document_id": 466420,
  "published_at": "2026-10-21T17:34:48.034+00:00"
}