{"id":"CVE-2020-7789","aliases":["CLSA-2026-1774916714","CLSA-2026-1787592062","EUVD-2020-1483","GHSA-5fw9-fq32-wv5p","RHSA-2021:0781"],"status":"published","title":"Command Injection","description":"This affects the package node-notifier before 9.0.0. It allows an attacker to run arbitrary commands on Linux machines due to the options params not being sanitised when being passed an array.","severity":{"version":"3.1","score":5.6,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:L","level":"medium","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-08","score":0.01587,"percentile":0.75768,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-78"],"published":"2020-12-11T09:55:13Z","modified":"2026-10-24T10:30:44Z","fixes":[{"ecosystem":"npm","package":"node-notifier","fixed_in":["8.0.1"],"sources":["ghsa","osv"]},{"ecosystem":"TuxCare:npm","package":"node-notifier","fixed_in":["5.4.5-tuxcare.1","7.0.2-tuxcare.1"],"sources":["osv"]}],"affected":[{"source":"ghsa","ecosystem":"npm","package":"node-notifier","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"8.0.1"}]}]},{"source":"osv","ecosystem":"TuxCare:npm","package":"node-notifier","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"5.4.5-tuxcare.0"},{"fixed":"5.4.5-tuxcare.1"}]}],"versions":["5.4.5"]},{"source":"osv","ecosystem":"TuxCare:npm","package":"node-notifier","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"7.0.2-tuxcare.0"},{"fixed":"7.0.2-tuxcare.1"}]}],"versions":["7.0.2"]},{"source":"osv","ecosystem":"npm","package":"node-notifier","ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"8.0.1"}]}]},{"source":"osv","ecosystem":"Red Hat:ansible_automation_platform:4.2::el7","package":"automation-hub","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:4.2.2-1.el7pc"}]}],"bundled":6},{"source":"osv","ecosystem":"Red Hat:ansible_automation_platform:4.2::el7","package":"python-bleach","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:3.3.0-1.el7pc"}]}],"bundled":6},{"source":"osv","ecosystem":"Red Hat:ansible_automation_platform:4.2::el7","package":"python-bleach-allowlist","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:1.0.3-1.el7pc"}]}],"bundled":6},{"source":"osv","ecosystem":"Red Hat:ansible_automation_platform:4.2::el7","package":"python-galaxy-importer","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:0.2.15-1.el7pc"}]}],"bundled":6},{"source":"osv","ecosystem":"Red Hat:ansible_automation_platform:4.2::el7","package":"python-galaxy-ng","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:4.2.2-1.el7pc"}]}],"bundled":6},{"source":"osv","ecosystem":"Red Hat:ansible_automation_platform:4.2::el7","package":"python-pulp-ansible","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1:0.5.6-1.el7pc"}]}],"bundled":6},{"source":"osv","ecosystem":"Red Hat:ansible_automation_platform:4.2::el7","package":"python3-bleach","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:3.3.0-1.el7pc"}]}],"bundled":6},{"source":"osv","ecosystem":"Red Hat:ansible_automation_platform:4.2::el7","package":"python3-bleach-allowlist","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:1.0.3-1.el7pc"}]}],"bundled":6},{"source":"osv","ecosystem":"Red Hat:ansible_automation_platform:4.2::el7","package":"python3-django","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:2.2.18-1.el7pc"}]}],"bundled":6},{"source":"osv","ecosystem":"Red Hat:ansible_automation_platform:4.2::el7","package":"python3-galaxy-importer","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:0.2.15-1.el7pc"}]}],"bundled":6},{"source":"osv","ecosystem":"Red Hat:ansible_automation_platform:4.2::el7","package":"python3-galaxy-ng","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:4.2.2-1.el7pc"}]}],"bundled":6},{"source":"osv","ecosystem":"Red Hat:ansible_automation_platform:4.2::el7","package":"python3-pulp-ansible","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1:0.5.6-1.el7pc"}]}],"bundled":6},{"source":"osv","ecosystem":"Red Hat:ansible_automation_platform:4.2::el8","package":"automation-hub","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:4.2.2-1.el8pc"}]}],"bundled":6},{"source":"osv","ecosystem":"Red Hat:ansible_automation_platform:4.2::el8","package":"python-bleach","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:3.3.0-1.el8pc"}]}],"bundled":6},{"source":"osv","ecosystem":"Red Hat:ansible_automation_platform:4.2::el8","package":"python-bleach-allowlist","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:1.0.3-1.el8pc"}]}],"bundled":6},{"source":"osv","ecosystem":"Red Hat:ansible_automation_platform:4.2::el8","package":"python-galaxy-importer","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:0.2.15-1.el8pc"}]}],"bundled":6},{"source":"osv","ecosystem":"Red Hat:ansible_automation_platform:4.2::el8","package":"python-galaxy-ng","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:4.2.2-1.el8pc"}]}],"bundled":6},{"source":"osv","ecosystem":"Red Hat:ansible_automation_platform:4.2::el8","package":"python-pulp-ansible","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1:0.5.6-1.el8pc"}]}],"bundled":6},{"source":"osv","ecosystem":"Red Hat:ansible_automation_platform:4.2::el8","package":"python3-bleach","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:3.3.0-1.el8pc"}]}],"bundled":6},{"source":"osv","ecosystem":"Red Hat:ansible_automation_platform:4.2::el8","package":"python3-bleach-allowlist","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:1.0.3-1.el8pc"}]}],"bundled":6},{"source":"osv","ecosystem":"Red Hat:ansible_automation_platform:4.2::el8","package":"python3-django","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:2.2.18-1.el8pc"}]}],"bundled":6},{"source":"osv","ecosystem":"Red Hat:ansible_automation_platform:4.2::el8","package":"python3-galaxy-importer","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:0.2.15-1.el8pc"}]}],"bundled":6},{"source":"osv","ecosystem":"Red Hat:ansible_automation_platform:4.2::el8","package":"python3-galaxy-ng","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:4.2.2-1.el8pc"}]}],"bundled":6},{"source":"osv","ecosystem":"Red Hat:ansible_automation_platform:4.2::el8","package":"python3-pulp-ansible","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1:0.5.6-1.el8pc"}]}],"bundled":6}],"products":[{"vendor":"node-notifier_project","product":"node-notifier"}],"references":[{"url":"https://snyk.io/vuln/SNYK-JS-NODENOTIFIER-1035794","tags":["x_refsource_MISC","x_transferred","Third Party Advisory","advisory","web","article"]},{"url":"https://snyk.io/vuln/SNYK-JAVA-ORGWEBJARSNPM-1050371","tags":["x_refsource_MISC","x_transferred","Third Party Advisory","advisory","web"]},{"url":"https://github.com/mikaelbr/node-notifier/blob/master/lib/utils.js%23L303","tags":["x_refsource_MISC","x_transferred","Broken Link","web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2020-7789","tags":["advisory"]},{"url":"https://github.com/mikaelbr/node-notifier/commit/5d62799dab88505a709cd032653b2320c5813fce","tags":["web"]},{"url":"https://github.com/advisories/GHSA-5fw9-fq32-wv5p"},{"url":"https://access.redhat.com/errata/RHSA-2021:0781","tags":["advisory"]},{"url":"https://access.redhat.com/security/updates/classification/#moderate","tags":["article"]},{"url":"https://bugzilla.redhat.com/show_bug.cgi?id=1857977","tags":["report"]},{"url":"https://bugzilla.redhat.com/show_bug.cgi?id=1906853","tags":["report"]},{"url":"https://bugzilla.redhat.com/show_bug.cgi?id=1919969","tags":["report"]},{"url":"https://bugzilla.redhat.com/show_bug.cgi?id=1922136","tags":["report"]},{"url":"https://security.access.redhat.com/data/csaf/v2/advisories/2021/rhsa-2021_0781.json","tags":["advisory"]},{"url":"https://access.redhat.com/security/cve/CVE-2020-7789","tags":["report"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2020-7789","tags":["advisory"]},{"url":"https://access.redhat.com/security/cve/CVE-2020-15366","tags":["report"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2020-15366","tags":["advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2020-15366","tags":["advisory"]},{"url":"https://snyk.io/vuln/SNYK-JS-AJV-584908","tags":["article"]},{"url":"https://access.redhat.com/security/cve/CVE-2021-3281","tags":["report"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2021-3281","tags":["advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2021-3281","tags":["advisory"]},{"url":"https://access.redhat.com/security/cve/CVE-2021-20270","tags":["report"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2021-20270","tags":["advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2021-20270","tags":["advisory"]},{"url":"https://access.redhat.com/security/cve/CVE-2021-23980","tags":["report"]},{"url":"https://bugzilla.redhat.com/show_bug.cgi?id=1925252","tags":["report"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2021-23980","tags":["advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2021-23980","tags":["advisory"]},{"url":"https://github.com/mozilla/bleach/security/advisories/GHSA-vv2x-vrpj-qqpq","tags":["article"]},{"url":"https://access.redhat.com/security/cve/CVE-2021-27291","tags":["report"]},{"url":"https://bugzilla.redhat.com/show_bug.cgi?id=1940603","tags":["report"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2021-27291","tags":["advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2021-27291","tags":["advisory"]}],"sources":{"cve":[{"id":"CVE-2020-7789","title":"Command Injection","description":"This affects the package node-notifier before 9.0.0. It allows an attacker to run arbitrary commands on Linux machines due to the options params not being sanitised when being passed an array.","status":"published","published":"2020-12-11T09:55:13.72Z","modified":"2024-09-16T16:28:29.11Z","cvss":[{"version":"3.1","score":5.6,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:L","level":"medium","assessor":"cna"}],"updated_at":"2026-11-02T14:35:58.331892Z"}],"euvd":[{"id":"EUVD-2020-1483","description":"This affects the package node-notifier before 9.0.0. It allows an attacker to run arbitrary commands on Linux machines due to the options params not being sanitised when being passed an array.","status":"published","published":"2020-12-11T09:55:13Z","modified":"2024-09-16T16:28:29Z","cvss":[{"version":"3.1","score":5.6,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:L","level":"medium"}],"updated_at":"2026-11-03T00:55:51.136895Z"}],"ghsa":[{"id":"GHSA-5fw9-fq32-wv5p","title":"OS Command Injection in node-notifier","description":"This affects the package node-notifier before 8.0.1. It allows an attacker to run arbitrary commands on Linux machines due to the options params not being sanitised when being passed an array.","status":"published","published":"2020-12-21T16:04:07Z","modified":"2023-01-09T05:04:30Z","cvss":[{"version":"3.1","score":5.6,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:L","level":"medium"}],"cwes":["CWE-78"],"updated_at":"2026-11-02T14:36:10.502376Z"}],"nvd":[{"id":"CVE-2020-7789","description":"This affects the package node-notifier before 9.0.0. It allows an attacker to run arbitrary commands on Linux machines due to the options params not being sanitised when being passed an array.","status":"published","published":"2020-12-11T10:15:12.423Z","modified":"2026-06-17T03:25:26.927Z","cvss":[{"version":"3.1","score":5.6,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:L","level":"medium","assessor":"secondary"},{"version":"3.1","score":5.6,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:L","level":"medium","assessor":"primary"},{"version":"2.0","score":6.8,"vector":"AV:N/AC:M/Au:N/C:P/I:P/A:P","level":"medium","assessor":"primary"}],"cwes":["CWE-78"],"updated_at":"2026-11-02T14:06:27.10541Z"}],"osv":[{"id":"CVE-2020-7789","description":"This affects the package node-notifier before 9.0.0. It allows an attacker to run arbitrary commands on Linux machines due to the options params not being sanitised when being passed an array.","status":"published","published":"2020-12-11T10:15:12.423Z","modified":"2026-10-24T10:30:44.929096057Z","cvss":[{"version":"3.1","score":5.6,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:L","level":"medium"}],"updated_at":"2026-11-02T15:44:17.34531Z"},{"id":"GHSA-5fw9-fq32-wv5p","title":"OS Command Injection in node-notifier","description":"This affects the package node-notifier before 8.0.1. It allows an attacker to run arbitrary commands on Linux machines due to the options params not being sanitised when being passed an array.","status":"published","published":"2020-12-21T16:04:07Z","modified":"2025-01-14T08:56:52.296116Z","cvss":[{"version":"3.1","score":5.6,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:L","level":"medium"}],"cwes":["CWE-78"],"updated_at":"2026-11-02T15:46:38.213481Z"},{"id":"RHSA-2021:0781","title":"Red Hat Security Advisory: Red Hat Ansible Automation Platform 1.2.2 security and bug fix update","status":"published","published":"2024-09-18T04:17:10Z","modified":"2026-06-28T10:42:48Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"high"}],"updated_at":"2026-11-02T15:53:08.071325Z"},{"id":"CLSA-2026-1774916714","title":"TuxCare security update for node-notifier (1 CVE)","description":"TuxCare rebuilt node-notifier to address 1 CVE. Fixed in 5.4.5-tuxcare.1.","status":"published","published":"2026-08-04T14:52:17Z","modified":"2026-10-15T09:47:48.857688635Z","updated_at":"2026-11-02T15:43:43.621843Z"},{"id":"CLSA-2026-1787592062","title":"TuxCare security update for node-notifier (1 CVE)","description":"TuxCare rebuilt node-notifier to address 1 CVE. Fixed in 7.0.2-tuxcare.1.","status":"published","published":"2026-08-24T17:21:02Z","modified":"2026-10-15T09:45:32.882423318Z","updated_at":"2026-11-02T15:43:47.20725Z"}]}}
