{"answers":{"affected":"2 open source packages ship an affected version, including stream-json.","exploited":"It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-104183 exists.","fix":"Upgrade stream-json to 3.6.0 or later.","what":"CVE-2026-104183 is a medium-severity vulnerability in uhop stream-json, published on 1 Oct 2026. It can only be exploited from the same machine or local network, with no action from the victim."},"fix_prompt":"Check this codebase for CVE-2026-104183 and fix it if it is affected.\n\nWhat it is: CVE-2026-104183 is a medium-severity vulnerability in uhop stream-json, published on 1 Oct 2026. It can only be exploited from the same machine or local network, with no action from the victim.\nExploitation: It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-104183 exists.\n\nAffected packages and fixed versions:\n- stream-json (npm): affected all versions; fixed in 3.6.0\n- stream-json (npm): affected all versions; fixed in 3.6.0\n\nTask:\n1. 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.\n2. 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.\n3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.\n4. Run the tests and summarise what changed and why.\n5. If nothing in the project is affected, say so and change nothing.\n\nReference: https://insights.sbomify.com/CVE-2026-104183/ (Markdown: https://insights.sbomify.com/CVE-2026-104183/index.md)","id":"CVE-2026-104183","markdown":"https://insights.sbomify.com/CVE-2026-104183/index.md","name":"CVE-2026-104183","record":{"aliases":["CLEANSTART-2026-ME44446","CLSA-2026-1791278816","GHSA-mjw6-4jj6-33hc"],"analysis":{"component_type":"library","fix_type":"upgrade","impacts":["security_bypass","denial_of_service"],"network_reachable":"adjacent_or_local","non_default_config":false,"product_category":"JSON parsing library","requires_auth":"none","summary":"Attackers can pollute object prototypes via crafted JSON, potentially bypassing authorization checks or causing application errors in applications using the stream-json library.","user_interaction":"not_required","vuln_class":"other"},"analysis_generated_by":"qwen3.8-flash-next","assigner":"GitHub_M","cpe":[],"cvss":{"score":5.1,"severity":"medium","source":"cna","vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:L","version":"3.1"},"cwes":[{"id":"CWE-1321","name":"Improperly Controlled Modification of Object Prototype Attributes"}],"description":"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.","ecosystems":["npm"],"exploits":{"exploitdb":0,"first_seen":null,"github_poc":0,"max_poc_stars":null,"metasploit":0,"nuclei":0,"refs":[],"tier":"weaponised"},"has_fix":true,"headline":"stream-json: Prototype pollution: Assembler writes this.current[this.key] on plain objects","id":"CVE-2026-104183","indexable":true,"kev":null,"kind":"cve","links":{"ecosystem":"npm","product":null,"products":[],"type":"other","year":"2026"},"n_packages":2,"n_references":3,"next":{"headline":"3Dviewer-Nextcloud: Share password not enforced when streaming 3D models from a public link share","id":"CVE-2026-104189"},"packages":[{"ecosystem":"npm","fixed":["3.6.0"],"introduced":["0"],"last_affected":[],"package":"stream-json","purl":null,"source":"GHSA-mjw6-4jj6-33hc"},{"ecosystem":"npm","fixed":["3.6.0"],"introduced":["0"],"last_affected":[],"package":"stream-json","purl":"pkg:npm/stream-json","source":"GHSA-mjw6-4jj6-33hc"}],"prev":{"headline":"stream-json: JSONC parser and verifier re-scan the whole accumulated comment on every input chunk","id":"CVE-2026-104182"},"products":["stream-json"],"published":"2026-10-01","related":[],"sources":[{"class":"attribution","licence":"CVE Terms of Use (MITRE)","name":"CVE List","prefix":"CVE"},{"class":"attribution","licence":"CC BY 4.0","name":"GitHub Advisory Database","prefix":"GHSA"},{"class":"attribution","licence":"CWE Terms of Use","name":"CWE (MITRE)"},{"class":"attribution","licence":"FIRST CVSS licence","name":"CVSS (FIRST)"}],"ssvc":{"automatable":"no","exploitation":"poc","technical_impact":"partial"},"state":"PUBLISHED","updated":"2026-10-01","vendors":["uhop"]},"summary":"Attackers can pollute object prototypes via crafted JSON, potentially bypassing authorization checks or causing application errors in applications using the stream-json library.","url":"https://insights.sbomify.com/CVE-2026-104183/"}