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


- **Severity:** Medium 6.2 (`CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H`)
- **Exploited in the wild:** Not known
- **Fix available:** Yes
- **Published:** 21 Oct 2026
- **Updated:** 28 Oct 2026
- **Also known as:** GHSA-jj87-hc4r-jwfw

## What is CVE-2026-114129?

CVE-2026-114129 is a medium-severity vulnerability in uhop stream-json, published on 21 Oct 2026. 

### Official description

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.

Weakness: CWE-407 (Inefficient Algorithmic Complexity)

## Which versions are affected by CVE-2026-114129?

2 open source packages ship an affected version, including stream-json.


| Package | Ecosystem | Affected | Fixed in |
| --- | --- | --- | --- |
| `stream-json` | npm | From 2.0.0 | 3.7.0 |
| `stream-json` | npm | From 2.0.0 | 3.7.0 |

## How do I fix CVE-2026-114129?

Upgrade stream-json to 3.7.0 or later.

## Is CVE-2026-114129 being exploited?

It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-114129 exists.

## Fix prompt for AI coding agents

```text
Check this codebase for CVE-2026-114129 and fix it if it is affected.

What it is: CVE-2026-114129 is a medium-severity vulnerability in uhop stream-json, published on 21 Oct 2026. 
Exploitation: It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-114129 exists.

Affected packages and fixed versions:
- stream-json (npm): affected from 2.0.0; fixed in 3.7.0
- stream-json (npm): affected from 2.0.0; fixed in 3.7.0

Task:
1. Search the dependency manifests and lockfiles (for example package.json, package-lock.json, requirements.txt, poetry.lock, uv.lock, pom.xml, build.gradle, go.mod, Cargo.lock, Gemfile.lock) and any Dockerfiles for the affected packages, including transitive dependencies.
2. If an affected version is in use, upgrade it to the fixed version for its release line with the project's package manager, so the lockfile is regenerated. Prefer the smallest upgrade that fixes it.
3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.
4. Run the tests and summarise what changed and why.
5. If nothing in the project is affected, say so and change nothing.

Reference: https://insights.sbomify.com/CVE-2026-114129/ (Markdown: https://insights.sbomify.com/CVE-2026-114129/index.md)
```

## Sources

- CVE record: https://www.cve.org/CVERecord?id=CVE-2026-114129
- NVD: https://nvd.nist.gov/vuln/detail/CVE-2026-114129
- OSV: https://osv.dev/vulnerability/CVE-2026-114129

---
From sbomify Insights: https://insights.sbomify.com/CVE-2026-114129/
Summaries are generated and may contain mistakes; the official description above is the record.
