{"items":[{"id":"NVI-00012206","kind":"vulnerability","title":"stream-json has a prototype pollution issue: Assembler writes this.current[this.key] on plain objects","revision":2,"unknowns":["Customer inventory, deployment, reachability and exploitation have not been inspected."],"lifecycle":"active","identifiers":["GHSA-mjw6-4jj6-33hc","CVE-2026-104183"],"plain_summary":"GitHub lists this reviewed advisory for stream-json. Published version ranges and source prerequisites are shown below; this is not an inspection of a visitor’s application.","review_status":"source_listed","control_topics":[],"public_actions":[{"summary":"Identify the exact component and deployed version, examine the linked publisher’s conditions, and retain evidence of any mitigation.","source_ids":["sr-4a8ed83c728b4793a69b357e122480c1"],"action_type":"investigate","limitations":"Confirm current vendor support, compatibility and deployment evidence. This report has not tested a fix in your system.","current_supported_target":null}],"schema_version":"1.1.0","source_metrics":[{"kind":"CVSS","as_of":"2026-10-05T22:49:20.000Z","value":"5.1 medium","meaning":"GitHub source severity; exploitability and local consequence require separate evidence.","source_id":"sr-01d79f105d2501f8f1b25bae90663e72"},{"kind":"EPSS","as_of":"2026-10-31T12:00:27.000Z","value":"0.195%","meaning":"FIRST EPSS model v2026.06.15; exploitation probability over 30 days, percentile 0.0928. Missing scores are unknown.","source_id":"sr-4a8ed83c728b4793a69b357e122480c1"}],"why_it_matters":"Published affected context helps an owner decide what evidence to gather. This report has not examined your application.","related_sources":[{"id":"sr-01d79f105d2501f8f1b25bae90663e72","url":"https://github.com/advisories/GHSA-mjw6-4jj6-33hc","basis":"vendor_advisory","notes":"GitHub Advisory Database; CC-BY-4.0. Each advisory links its original attribution. Null normalizes fields.","title":"GHSA-mjw6-4jj6-33hc","publisher":"GitHub Advisory Database","observed_at":"2026-11-01T01:39:10.636Z"},{"id":"sr-4a8ed83c728b4793a69b357e122480c1","url":"https://www.first.org/epss/data.html","basis":"official_catalog","notes":"FIRST EPSS; probability of exploitation in the next 30 days, not local compromise. Dataset date/model retained; FIRST services terms apply.","title":"CVE-2026-104183","publisher":"FIRST EPSS","observed_at":"2026-11-01T07:23:29.864Z"}],"affected_context":[{"certainty":"source_listed","source_ids":["sr-01d79f105d2501f8f1b25bae90663e72"],"technology":"stream-json","known_exclusions":[],"conditions_summary":"### Summary\nA prototype-pollution vulnerability in stream-json lets attacker-controlled JSON replace a parsed object's prototype.\n\n### Details\nThe streaming JSON parser (StreamValues/StreamObject/jsonc variants) writes keys via plain assignment, so a __proto__ key replaces the parsed object's prototype with attacker-controlled content (verified 3.5.0 npm latest; native JSON.parse twin control stays clean). Parsing untrusted JSON is the contract. Assembler in Assembler.js.\n\n### PoC\n\nRun:\n```bash\nnode poc-stream-json-proto-injection.mjs\n```\n\nFull proof-of-concept source (poc-stream-json-proto-injection.mjs):\n```js\n// stream-json v3.5.0 (npm latest) — local [[Prototype]] replacement via `__proto__` keys\n// Class: prototype injection in a JSON deserializer (jsonparse/bser/jsonc-parser/plist family)\n// Root cause: Assembler builds every object as a plain `Object` and writes\n//   `this.current[this.key] = value` (src/core/assembler.js:160,180 — plain assignment,\n//   ToPropertyKey → inherited Object.prototype __proto__ setter fires)\n// Spec baseline: JSON.parse (CreateDataProperty) → own data property, no prototype change\n// Run:  node poc-stream-json-proto-injection.mjs   (from C:/Users","public_affected_ranges":["< 3.6.0"]}],"null_published_at":"2026-11-01T22:58:19.124Z","source_updated_at":"2026-10-05T22:49:20.000Z","source_disclosed_at":"2026-10-05T22:49:19.000Z","is_synthetic_fixture":false,"null_last_reviewed_at":null,"public_change_summary":"Dated EPSS estimate updated; this is not a new disclosure or proof of exploitation.","null_first_observed_at":"2026-11-01T01:39:10.636Z"},{"id":"NVI-00012206","kind":"vulnerability","title":"stream-json has a prototype pollution issue: Assembler writes this.current[this.key] on plain objects","revision":1,"unknowns":["Customer inventory, deployment, reachability and exploitation have not been inspected."],"lifecycle":"active","identifiers":["GHSA-mjw6-4jj6-33hc","CVE-2026-104183"],"plain_summary":"GitHub lists this reviewed advisory for stream-json. Published version ranges and source prerequisites are shown below; this is not an inspection of a visitor’s application.","review_status":"source_listed","control_topics":[],"public_actions":[{"summary":"Identify the exact component and deployed version, examine the linked publisher’s conditions, and retain evidence of any mitigation.","source_ids":["sr-01d79f105d2501f8f1b25bae90663e72"],"action_type":"investigate","limitations":"Confirm current vendor support, compatibility and deployment evidence. This report has not tested a fix in your system.","current_supported_target":null}],"schema_version":"1.1.0","source_metrics":[{"kind":"CVSS","as_of":"2026-10-05T22:49:20.000Z","value":"5.1 medium","meaning":"GitHub source severity; exploitability and local consequence require separate evidence.","source_id":"sr-01d79f105d2501f8f1b25bae90663e72"}],"why_it_matters":"Published affected context helps an owner decide what evidence to gather. This report has not examined your application.","related_sources":[{"id":"sr-01d79f105d2501f8f1b25bae90663e72","url":"https://github.com/advisories/GHSA-mjw6-4jj6-33hc","basis":"vendor_advisory","notes":"GitHub Advisory Database; CC-BY-4.0. Each advisory links its original attribution. Null normalizes fields.","title":"GHSA-mjw6-4jj6-33hc","publisher":"GitHub Advisory Database","observed_at":"2026-11-01T01:39:10.636Z"}],"affected_context":[{"certainty":"source_listed","source_ids":["sr-01d79f105d2501f8f1b25bae90663e72"],"technology":"stream-json","known_exclusions":[],"conditions_summary":"### Summary\nA prototype-pollution vulnerability in stream-json lets attacker-controlled JSON replace a parsed object's prototype.\n\n### Details\nThe streaming JSON parser (StreamValues/StreamObject/jsonc variants) writes keys via plain assignment, so a __proto__ key replaces the parsed object's prototype with attacker-controlled content (verified 3.5.0 npm latest; native JSON.parse twin control stays clean). Parsing untrusted JSON is the contract. Assembler in Assembler.js.\n\n### PoC\n\nRun:\n```bash\nnode poc-stream-json-proto-injection.mjs\n```\n\nFull proof-of-concept source (poc-stream-json-proto-injection.mjs):\n```js\n// stream-json v3.5.0 (npm latest) — local [[Prototype]] replacement via `__proto__` keys\n// Class: prototype injection in a JSON deserializer (jsonparse/bser/jsonc-parser/plist family)\n// Root cause: Assembler builds every object as a plain `Object` and writes\n//   `this.current[this.key] = value` (src/core/assembler.js:160,180 — plain assignment,\n//   ToPropertyKey → inherited Object.prototype __proto__ setter fires)\n// Spec baseline: JSON.parse (CreateDataProperty) → own data property, no prototype change\n// Run:  node poc-stream-json-proto-injection.mjs   (from C:/Users","public_affected_ranges":["< 3.6.0"]}],"null_published_at":"2026-11-01T01:45:38.498Z","source_updated_at":"2026-10-05T22:49:20.000Z","source_disclosed_at":"2026-10-05T22:49:19.000Z","is_synthetic_fixture":false,"null_last_reviewed_at":null,"public_change_summary":"First indexed by Null; source disclosure date is shown separately.","null_first_observed_at":"2026-11-01T01:39:10.636Z"}],"next_cursor":null,"snapshot_revision":"42594"}