{"id":"CVE-2021-23389","aliases":["EUVD-2021-2469","GHSA-7fm6-gxqg-2pwr","SNYK-JS-TOTALJS-1088607"],"status":"published","title":"Arbitrary Code Execution","description":"The package total.js before 3.4.9 are vulnerable to Arbitrary Code Execution via the U.set() and U.get() functions.","severity":{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H/E:P","level":"critical","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-12","score":0.03603,"percentile":0.89624,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-94"],"published":"2021-07-12T15:15:18Z","modified":"2026-10-24T10:50:07Z","fixes":[{"ecosystem":"npm","package":"total.js","fixed_in":["3.4.9"],"sources":["ghsa","osv"]}],"affected":[{"source":"ghsa","ecosystem":"npm","package":"total.js","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.4.9"}]}]},{"source":"osv","ecosystem":"npm","package":"total.js","ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"3.4.9"}]}]}],"products":[{"vendor":"totaljs","product":"total.js"}],"references":[{"url":"https://snyk.io/vuln/SNYK-JS-TOTALJS-1088607","tags":["x_refsource_MISC","x_transferred","Exploit","Patch","Third Party Advisory","fix","web"]},{"url":"https://github.com/totaljs/framework/blob/master/utils.js%23L6606-L6631","tags":["x_refsource_MISC","x_transferred","Broken Link","web"]},{"url":"https://github.com/totaljs/framework/commit/887b0fa9e162ef7a2dd9cec20a5ca122726373b3","tags":["x_refsource_MISC","x_transferred","Patch","Third Party Advisory","fix","web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2021-23389","tags":["advisory"]},{"url":"https://github.com/advisories/GHSA-7fm6-gxqg-2pwr"}],"sources":{"cve":[{"id":"CVE-2021-23389","title":"Arbitrary Code Execution","description":"The package total.js before 3.4.9 are vulnerable to Arbitrary Code Execution via the U.set() and U.get() functions.","status":"published","published":"2021-07-12T15:15:18.459Z","modified":"2024-09-16T18:33:56.688Z","cvss":[{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H/E:P","level":"critical","assessor":"cna"}],"updated_at":"2026-11-02T14:33:00.819444Z"}],"euvd":[{"id":"EUVD-2021-2469","description":"The package total.js before 3.4.9 are vulnerable to Arbitrary Code Execution via the U.set() and U.get() functions.","status":"published","published":"2021-07-12T15:15:18Z","modified":"2024-09-16T18:33:56Z","cvss":[{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H/E:P","level":"critical"}],"updated_at":"2026-11-03T00:55:31.571078Z"}],"ghsa":[{"id":"GHSA-7fm6-gxqg-2pwr","title":"Code Injection in total.js","description":"The package total.js before 3.4.9 are vulnerable to Arbitrary Code Execution via the U.set() and U.get() functions.","status":"published","published":"2021-12-10T17:26:06Z","modified":"2023-02-01T05:06:00Z","cvss":[{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical"}],"cwes":["CWE-94"],"updated_at":"2026-11-02T14:36:36.66596Z"}],"nvd":[{"id":"CVE-2021-23389","description":"The package total.js before 3.4.9 are vulnerable to Arbitrary Code Execution via the U.set() and U.get() functions.","status":"published","published":"2021-07-12T16:15:08.953Z","modified":"2026-06-17T03:38:40.403Z","cvss":[{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical","assessor":"secondary"},{"version":"3.1","score":9.8,"vector":"CVSS:3.1/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-94"],"updated_at":"2026-11-02T14:06:55.747384Z"}],"osv":[{"id":"CVE-2021-23389","description":"The package total.js before 3.4.9 are vulnerable to Arbitrary Code Execution via the U.set() and U.get() functions.","status":"published","published":"2021-07-12T16:15:08.953Z","modified":"2026-10-24T10:50:07.202151594Z","cvss":[{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical"}],"updated_at":"2026-11-02T15:44:18.367807Z"},{"id":"GHSA-7fm6-gxqg-2pwr","title":"Code Injection in total.js","description":"The package total.js before 3.4.9 are vulnerable to Arbitrary Code Execution via the U.set() and U.get() functions.","status":"published","published":"2021-12-10T17:26:06Z","modified":"2026-07-08T06:49:55.167141788Z","cvss":[{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical"}],"cwes":["CWE-94"],"updated_at":"2026-11-02T15:46:41.002603Z"}]}}
