Read the docs

stream-json: Prototype pollution: Assembler writes this.current[this.key] on plain objects

Priority MEDIUM 56CWE-1321Published · Updated

Key facts

Attack vector
Local
Privileges required
None
User interaction
None
Attack complexity
Low
Impact type
—
Confidentiality · integrity · availability
None · Low · Low
Fix status
Partial Red Hat: 1 without a fix

Attack profile from CVSS 3.1 · CNA. Fix status from CNA, GitHub and Red Hat.

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, Assembler materializes object properties with plain assignment, so an input key named __proto__ invokes the inherited setter and causes parsed object prototype replacement instead of creating an own data property. Applications that make authorization or feature decisions from inherited values can therefore consume attacker-controlled properties, and a null prototype can disrupt code that expects Object.prototype methods. The researcher treats parsing untrusted JSON as part of the project contract, while the maintainer states that documented inputs are locally owned dumps, exports, or logs and characterizes the attack vector as local. The global Object.prototype is not polluted. 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.00195 9th 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-mjw6-4jj6-33hc
  • 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-mjw6-4jj6-33hc

Remediation

  • Fix · CNA stream-json (uhop) Fixed in 3.6.0
  • Fix · GHSA-mjw6-4jj6-33hc 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-104183
  2. 2026-10-06 Alias added: GHSA-mjw6-4jj6-33hc
  3. 2026-10-06 Fix available: npm/[email protected] · GHSA-mjw6-4jj6-33hc
  4. 2026-10-06 CVSS score added · GHSA-mjw6-4jj6-33hc
  5. 2026-10-06 Weakness changed · GHSA-mjw6-4jj6-33hc
  6. 2026-10-06 5 new references · GHSA-mjw6-4jj6-33hc

References

  • TI-2026-78913 Quadratic CPU use in stream-json FlexAssembler allows denial of service CVSS 3.1MEDIUM 6.2
  • TI-2026-65777 stream-json: JSONC parser and verifier re-scan the whole accumulated comment on every input chunk 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
See all 7 →

Sources