{"id":"CVE-2020-28495","aliases":["EUVD-2021-0536","GHSA-6cf8-qhqj-vjqm","SNYK-JS-TOTALJS-1046671"],"status":"published","title":"Prototype Pollution","description":"This affects the package total.js before 3.4.7. The set function can be used to set a value into the object according to the path. However the keys of the path being set are not properly sanitized, leading to a prototype pollution vulnerability. The impact depends on the application. In some cases it is possible to achieve Denial of service (DoS), Remote Code Execution or Property Injection.","severity":{"version":"3.1","score":7.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L/E:P/RL:O/RC:C","level":"high","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-11","score":0.0376,"percentile":0.90042,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-1321","CWE-400"],"published":"2021-02-02T10:25:17Z","modified":"2026-10-24T10:49:34Z","fixes":[{"ecosystem":"npm","package":"total.js","fixed_in":["3.4.7"],"sources":["ghsa","osv"]}],"affected":[{"source":"ghsa","ecosystem":"npm","package":"total.js","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.4.7"}]}]},{"source":"osv","ecosystem":"npm","package":"total.js","ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"3.4.7"}]}]}],"products":[{"vendor":"totaljs","product":"total.js"}],"references":[{"url":"https://snyk.io/vuln/SNYK-JS-TOTALJS-1046671","tags":["x_refsource_MISC","x_transferred","Exploit","Patch","Third Party Advisory","fix","web"]},{"url":"https://docs.totaljs.com/latest/en.html%23api~FrameworkUtils~U.set","tags":["x_refsource_MISC","x_transferred","Broken Link","web"]},{"url":"https://github.com/totaljs/framework/blob/master/utils.js%23L6606","tags":["x_refsource_MISC","x_transferred","Broken Link","web"]},{"url":"https://github.com/totaljs/framework/blob/master/utils.js%23L6617","tags":["x_refsource_MISC","x_transferred","Broken Link","web"]},{"url":"https://github.com/totaljs/framework/commit/b3f901561d66ab799a4a99279893b94cad7ae4ff","tags":["x_refsource_MISC","x_transferred","Patch","Third Party Advisory","fix","web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2020-28495","tags":["advisory"]},{"url":"https://www.npmjs.com/package/total.js","tags":["web"]},{"url":"https://github.com/advisories/GHSA-6cf8-qhqj-vjqm"}],"sources":{"cve":[{"id":"CVE-2020-28495","title":"Prototype Pollution","description":"This affects the package total.js before 3.4.7. The set function can be used to set a value into the object according to the path. However the keys of the path being set are not properly sanitized, leading to a prototype pollution vulnerability. The impact depends on the application. In some cases it is possible to achieve Denial of service (DoS), Remote Code Execution or Property Injection.","status":"published","published":"2021-02-02T10:25:17.752Z","modified":"2024-09-16T22:40:43.106Z","cvss":[{"version":"3.1","score":7.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L/E:P/RL:O/RC:C","level":"high","assessor":"cna"}],"updated_at":"2026-11-02T14:35:57.017407Z"}],"euvd":[{"id":"EUVD-2021-0536","description":"This affects the package total.js before 3.4.7. The set function can be used to set a value into the object according to the path. However the keys of the path being set are not properly sanitized, leading to a prototype pollution vulnerability. The impact depends on the application. In some cases it is possible to achieve Denial of service (DoS), Remote Code Execution or Property Injection.","status":"published","published":"2021-02-02T10:25:17Z","modified":"2024-09-16T22:40:43Z","cvss":[{"version":"3.1","score":7.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L/E:P/RL:O/RC:C","level":"high"}],"updated_at":"2026-11-03T00:55:01.173561Z"}],"ghsa":[{"id":"GHSA-6cf8-qhqj-vjqm","title":"Prototype pollution in total.js","description":"There is a prototype pollution vulnerability in the package total.js before version 3.4.7. The set function can be used to set a value into the object according to the path. However the keys of the path being set are not properly sanitized, leading to a prototype pollution vulnerability. The impact depends on the application. In some cases it is possible to achieve Denial of service (DoS), Remote Code Execution or Property Injection.","status":"published","published":"2021-02-05T20:43:19Z","modified":"2023-09-13T20:22:25Z","cvss":[{"version":"3.1","score":7.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L","level":"high"}],"cwes":["CWE-400","CWE-1321"],"updated_at":"2026-11-02T14:37:05.004935Z"}],"nvd":[{"id":"CVE-2020-28495","description":"This affects the package total.js before 3.4.7. The set function can be used to set a value into the object according to the path. However the keys of the path being set are not properly sanitized, leading to a prototype pollution vulnerability. The impact depends on the application. In some cases it is possible to achieve Denial of service (DoS), Remote Code Execution or Property Injection.","status":"published","published":"2021-02-02T11:15:13.257Z","modified":"2026-06-17T03:10:32.3Z","cvss":[{"version":"3.1","score":7.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L","level":"high","assessor":"secondary"},{"version":"2.0","score":7.5,"vector":"AV:N/AC:L/Au:N/C:P/I:P/A:P","level":"high","assessor":"primary"}],"updated_at":"2026-11-02T14:06:34.188486Z"}],"osv":[{"id":"CVE-2020-28495","description":"This affects the package total.js before 3.4.7. The set function can be used to set a value into the object according to the path. However the keys of the path being set are not properly sanitized, leading to a prototype pollution vulnerability. The impact depends on the application. In some cases it is possible to achieve Denial of service (DoS), Remote Code Execution or Property Injection.","status":"published","published":"2021-02-02T11:15:13.257Z","modified":"2026-10-24T10:49:34.689790939Z","cvss":[{"version":"3.1","score":7.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L","level":"high"}],"updated_at":"2026-11-02T15:44:16.248747Z"},{"id":"GHSA-6cf8-qhqj-vjqm","title":"Prototype pollution in total.js","description":"There is a prototype pollution vulnerability in the package total.js before version 3.4.7. The set function can be used to set a value into the object according to the path. However the keys of the path being set are not properly sanitized, leading to a prototype pollution vulnerability. The impact depends on the application. In some cases it is possible to achieve Denial of service (DoS), Remote Code Execution or Property Injection.","status":"published","published":"2021-02-05T20:43:19Z","modified":"2026-07-08T06:49:59.940708125Z","cvss":[{"version":"3.1","score":7.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L","level":"high"}],"cwes":["CWE-1321","CWE-400"],"updated_at":"2026-11-02T15:46:39.618611Z"}]}}
