Read the docs

stream-json: JSONC parser and verifier re-scan the whole accumulated comment on every input chunk

Priority MEDIUM 61CWE-407Published · Updated

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

Exploitation Proof of concept CISA SSVC · not in CISA KEV
EPSS 0.00202 10th percentileScored 2026-11-07
Fix Partial stream-json (uhop): 3.6.0stream-json (npm): 3.6.0Red Hat: 1 without a fix

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

VendorProductAffected versionsFixed inStatusSource
uhopstream-jsonbefore 3.6.03.6.0Patch availableCNA
—stream-json (npm)before 3.6.03.6.0Patch availableGHSA-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 →

ProductStatusPlan or fix
Red Hat Build of Podman DesktopAffectedNo fix yet: Fix deferred

Timeline

  1. 2026-10-02 Threatist record created from CVE-2026-104182
  2. 2026-10-06 CISA SSVC decision points changed
  3. 2026-10-06 Priority changed: LOW → MEDIUM
  4. 2026-10-06 Alias added: GHSA-hqr4-qq8f-hg3x
  5. 2026-10-06 Fix available: npm/[email protected] · GHSA-hqr4-qq8f-hg3x
  6. 2026-10-06 CVSS score added · GHSA-hqr4-qq8f-hg3x
  7. 2026-10-06 Weakness changed · GHSA-hqr4-qq8f-hg3x
  8. 2026-10-06 5 new references · GHSA-hqr4-qq8f-hg3x

References

  • 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
See all 7 →

Sources