stream-json: JSONC parser and verifier re-scan the whole accumulated comment on every input chunk
Key facts
- Attack vector
- Local
- Privileges required
- None
- User interaction
- None
- Attack complexity
- Low
- Impact type
- Denial of service
- Confidentiality · integrity · availability
- None · None · High
- Fix status
- Partial Red Hat: 1 without a fix
Attack profile from CVSS 3.1 · CNA. Fix status from CNA, GitHub and Red Hat. Impact type from CWE-407.
Summary
stream-json is a micro-library of stream components for processing JSON and JSONC with a minimal memory footprint. Prior to 3.6.0, the JSONC parser at stream-json/jsonc/parser.js and verifier at stream-json/jsonc/verifier.js restart comment-terminator scanning from the opening slash whenever a block or line comment spans an input chunk, while retaining the accumulated comment buffer. Delivering a large valid comment across many small chunks therefore causes quadratic CPU work and can stall the Node.js event loop. The maintainer characterizes the attack vector as local because the documented JSONC input is locally owned or user-controlled configuration, rather than input intended for the open internet. This JSONC-only scope does not include the plain JSON parser, which advances through and discards consumed string and number data. This issue is fixed in version 3.6.0.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- Poc
- Automatable
- No
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| uhop | stream-json | before 3.6.0 | 3.6.0 | Patch available | CNA |
| — | stream-json (npm) | before 3.6.0 | 3.6.0 | Patch available | GHSA-hqr4-qq8f-hg3x |
- stream-json Vendoruhop Affected before 3.6.0 Fixed in 3.6.0 Patch available CNA
- stream-json (npm) Vendor— Affected before 3.6.0 Fixed in 3.6.0 Patch available GHSA-hqr4-qq8f-hg3x
Remediation
- Fix · CNA stream-json (uhop) Fixed in 3.6.0
- Fix · GHSA-hqr4-qq8f-hg3x stream-json (npm) Fixed in 3.6.0 Advisory →
Vendor assessments
Red Hat
Red Hat rating: Moderate. Red Hat's page for this CVE →
| Product | Status | Plan or fix |
|---|---|---|
| Red Hat Build of Podman Desktop | Affected | No fix yet: Fix deferred |
Timeline
- 2026-10-02 Threatist record created from CVE-2026-104182
- 2026-10-06 CISA SSVC decision points changed
- 2026-10-06 Priority changed: LOW → MEDIUM
- 2026-10-06 Alias added: GHSA-hqr4-qq8f-hg3x
- 2026-10-06 Fix available: npm/[email protected] · GHSA-hqr4-qq8f-hg3x
- 2026-10-06 CVSS score added · GHSA-hqr4-qq8f-hg3x
- 2026-10-06 Weakness changed · GHSA-hqr4-qq8f-hg3x
- 2026-10-06 5 new references · GHSA-hqr4-qq8f-hg3x
References
More uhop vulnerabilities
- TI-2026-78913 Quadratic CPU use in stream-json FlexAssembler allows denial of service CVSS 3.1MEDIUM 6.2
- TI-2026-50052 Reachable assertion in uhop node-re2 CVSS 3.1MEDIUM 6.2
- TI-2026-50051 stream-json: pick/ignore/filter/replace filters are O(depth²) on nested input — small… CVSS 3.1MEDIUM 6.2
- TI-2026-48273 Infinite loop in uhop node-re2 CVSS 3.1MEDIUM 6.2
- TI-2026-47734 Out-of-bounds read in uhop node-re2 CVSS 3.1MEDIUM 5.7
- TI-2026-65778 stream-json: Prototype pollution: Assembler writes this.current[this.key] on plain objects CVSS 3.1MEDIUM 5.1
Sources
- CVE-2026-104182 · CVE Program
- CVE-2026-104182 · NVD
- FIRST EPSS
- GHSA-hqr4-qq8f-hg3x · GitHub Advisory Database · CC BY 4.0
- CVE-2026-104182 · Red Hat security data · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences