{"id":"GHSA-6cf8-qhqj-vjqm","summary":"Prototype pollution in total.js","details":"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.","aliases":["CVE-2020-28495","SNYK-JS-TOTALJS-1046671"],"modified":"2026-07-08T06:49:59.940708125Z","published":"2021-02-05T20:43:19Z","database_specific":{"cwe_ids":["CWE-1321","CWE-400"],"github_reviewed_at":"2021-02-03T07:46:44Z","github_reviewed":true,"nvd_published_at":"2021-02-02T11:15:00Z","severity":"HIGH"},"references":[{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2020-28495"},{"type":"WEB","url":"https://github.com/totaljs/framework/commit/b3f901561d66ab799a4a99279893b94cad7ae4ff"},{"type":"WEB","url":"https://docs.totaljs.com/latest/en.html%23api~FrameworkUtils~U.set"},{"type":"WEB","url":"https://github.com/totaljs/framework/blob/master/utils.js%23L6606"},{"type":"WEB","url":"https://github.com/totaljs/framework/blob/master/utils.js%23L6617"},{"type":"WEB","url":"https://snyk.io/vuln/SNYK-JS-TOTALJS-1046671"},{"type":"WEB","url":"https://www.npmjs.com/package/total.js"}],"affected":[{"package":{"name":"total.js","ecosystem":"npm","purl":"pkg:npm/total.js"},"ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"3.4.7"}]}],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2021/02/GHSA-6cf8-qhqj-vjqm/GHSA-6cf8-qhqj-vjqm.json"}}],"schema_version":"1.7.5","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L"}]}