{"id":"CVE-2018-3752","aliases":["EUVD-2018-0671","GHSA-qw93-45r3-p66p"],"status":"published","title":"Prototype Pollution in merge-options","description":"The utilities function in all versions \u003c= 1.0.0 of the merge-options node module can be tricked into modifying the prototype of Object when the attacker can control part of the structure passed to this function. This can let an attacker add or modify existing properties that will exist on all objects.","severity":{"version":"3.0","score":9.8,"vector":"CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical","assessor":"primary","from":"nvd"},"epss":{"day":"2026-11-08","score":0.01428,"percentile":0.73164,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-20"],"published":"2018-07-03T21:00:00Z","modified":"2026-10-24T10:30:48Z","fixes":[{"ecosystem":"npm","package":"merge-options","fixed_in":["1.0.1"],"sources":["ghsa","osv"]}],"affected":[{"source":"ghsa","ecosystem":"npm","package":"merge-options","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.0.1"}]}]},{"source":"osv","ecosystem":"npm","package":"merge-options","ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"1.0.1"}]}]}],"products":[{"vendor":"merge-options_project","product":"merge-options"}],"references":[{"url":"https://hackerone.com/reports/311336","tags":["x_refsource_MISC","x_transferred","Exploit","Issue Tracking","Third Party Advisory","report","web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2018-3752","tags":["advisory"]},{"url":"https://github.com/schnittstabil/merge-options/commit/d4a93bc2890455e0931ac0779667023e6cb101d4","tags":["web"]},{"url":"https://github.com/advisories/GHSA-qw93-45r3-p66p","tags":["advisory"]},{"url":"https://www.npmjs.com/advisories/717","tags":["web"]},{"url":"https://github.com/schnittstabil/merge-options","tags":["package"]}],"sources":{"cve":[{"id":"CVE-2018-3752","description":"The utilities function in all versions \u003c= 1.0.0 of the merge-options node module can be tricked into modifying the prototype of Object when the attacker can control part of the structure passed to this function. This can let an attacker add or modify existing properties that will exist on all objects.","status":"published","published":"2018-07-03T21:00:00Z","modified":"2024-09-16T16:27:49.17Z","updated_at":"2026-11-02T14:35:05.262903Z"}],"euvd":[{"id":"EUVD-2018-0671","description":"The utilities function in all versions \u003c= 1.0.0 of the merge-options node module can be tricked into modifying the prototype of Object when the attacker can control part of the structure passed to this function. This can let an attacker add or modify existing properties that will exist on all objects.","status":"published","published":"2018-07-03T21:00:00Z","modified":"2024-09-16T16:27:49Z","updated_at":"2026-11-03T00:55:51.557415Z"}],"ghsa":[{"id":"GHSA-qw93-45r3-p66p","title":"Prototype Pollution in merge-options","description":"All versions of `merge-options` are vulnerable to Prototype Pollution\n\n\n## Recommendation\n\nUpdate to version 1.0.1 or greater.","status":"published","published":"2018-10-09T00:19:57Z","modified":"2023-01-09T05:03:13Z","cvss":[{"version":"3.0","score":9.8,"vector":"CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical"}],"cwes":["CWE-20"],"updated_at":"2026-11-02T14:36:04.396827Z"}],"nvd":[{"id":"CVE-2018-3752","description":"The utilities function in all versions \u003c= 1.0.0 of the merge-options node module can be tricked into modifying the prototype of Object when the attacker can control part of the structure passed to this function. This can let an attacker add or modify existing properties that will exist on all objects.","status":"published","published":"2018-07-03T21:29:00.7Z","modified":"2026-06-17T01:57:46.3Z","cvss":[{"version":"3.0","score":9.8,"vector":"CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical","assessor":"primary"},{"version":"2.0","score":7.5,"vector":"AV:N/AC:L/Au:N/C:P/I:P/A:P","level":"high","assessor":"primary"}],"cwes":["CWE-20"],"updated_at":"2026-11-02T14:04:30.900603Z"}],"osv":[{"id":"CVE-2018-3752","description":"The utilities function in all versions \u003c= 1.0.0 of the merge-options node module can be tricked into modifying the prototype of Object when the attacker can control part of the structure passed to this function. This can let an attacker add or modify existing properties that will exist on all objects.","status":"published","published":"2018-07-03T21:29:00.7Z","modified":"2026-10-24T10:30:48.71629184Z","cvss":[{"version":"3.0","score":9.8,"vector":"CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical"}],"updated_at":"2026-11-02T15:44:09.442568Z"},{"id":"GHSA-qw93-45r3-p66p","title":"Prototype Pollution in merge-options","description":"All versions of `merge-options` are vulnerable to Prototype Pollution\n\n\n## Recommendation\n\nUpdate to version 1.0.1 or greater.","status":"published","published":"2018-10-09T00:19:57Z","modified":"2023-11-08T04:00:18.963578Z","cvss":[{"version":"3.0","score":9.8,"vector":"CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical"}],"cwes":["CWE-20"],"updated_at":"2026-11-02T15:46:55.122811Z"}]}}
