{"id":"CVE-2020-16846","published":"2020-11-06T08:15:13Z","modified":"2026-06-17T02:58:07Z","title":"SaltStack Salt Shell Injection Vulnerability","vendor":"SaltStack","product":"Salt","tier":"core","eol":null,"description":{"text":"An issue was discovered in SaltStack Salt through 3002. Sending crafted web requests to the Salt API, with the SSH client enabled, can result in shell injection.","provenance":"source","from":"NVD"},"summary":{"text":"A shell injection flaw exists in SaltStack Salt through version 3002, in its Salt API component when the SSH client is enabled. An unauthenticated remote attacker who can reach the API can send crafted web requests that inject operating system commands, with no user interaction required.","provenance":"ai","model":"claude-haiku-5-5","generatedAt":"2026-10-30T13:36:03Z"},"cvss":{"score":9.8,"severity":"CRITICAL","version":"3.1","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","provenance":"source","from":"NVD"},"epss":{"score":0.99585,"percentile":0.99947,"date":"2026-10-30","provenance":"source"},"kev":{"dateAdded":"2021-11-03","dueDate":"2022-05-03","ransomware":false,"requiredAction":"Apply updates per vendor instructions.","notes":"https://nvd.nist.gov/vuln/detail/CVE-2020-16846","provenance":"source"},"vulncheckKev":{"dateAdded":"2021-04-24","exploitedFirstSeen":"2021-04-24","ransomware":false,"evidence":[{"url":"https://www.bleepingcomputer.com/news/security/new-cryptomining-malware-builds-an-army-of-windows-linux-bots/","date":"2021-04-24"},{"url":"https://cujo.com/the-sysrv-botnet-and-how-it-evolved/","date":"2021-09-22"},{"url":"https://www.cisa.gov/sites/default/files/feeds/known_exploited_vulnerabilities.json","date":"2021-11-03"},{"url":"https://www.botconf.eu/wp-content/uploads/2022/05/Botconf2022-24-PalotayZsigovits.pdf","date":"2022-04-27"},{"url":"https://dashboard.shadowserver.org/statistics/honeypot/vulnerability/map/?day=2023-11-15&host_type=src&vulnerability=cve-2020-16846","date":"2023-11-15"},{"url":"https://dashboard.shadowserver.org/statistics/honeypot/vulnerability/map/?day=2023-11-16&host_type=src&vulnerability=cve-2020-16846","date":"2023-11-16"},{"url":"https://dashboard.shadowserver.org/statistics/honeypot/vulnerability/map/?day=2023-11-18&host_type=src&vulnerability=cve-2020-16846","date":"2023-11-18"},{"url":"https://dashboard.shadowserver.org/statistics/honeypot/vulnerability/map/?day=2023-11-19&host_type=src&vulnerability=cve-2020-16846","date":"2023-11-19"},{"url":"https://dashboard.shadowserver.org/statistics/honeypot/vulnerability/map/?day=2023-11-20&host_type=src&vulnerability=cve-2020-16846","date":"2023-11-20"},{"url":"https://dashboard.shadowserver.org/statistics/honeypot/vulnerability/map/?day=2023-11-21&host_type=src&vulnerability=cve-2020-16846","date":"2023-11-21"}],"evidenceTotal":1021,"provenance":"source"},"exploited":true,"otx":{"pulseCount":50,"pulses":[{"name":"Actively_Exploited_Kev | Oct 29, 2026","url":"https://otx.alienvault.com/pulse/6ae20c1db17e7057ae7d9ad1","created":"2026-10-28"},{"name":"Actively_Exploited_Kev | Oct 28, 2026","url":"https://otx.alienvault.com/pulse/6ae0ba7e0e2a97ff7b218819","created":"2026-10-27"},{"name":"Actively_Exploited_Kev | Oct 27, 2026","url":"https://otx.alienvault.com/pulse/6adf68b85c3e852f3c111d18","created":"2026-10-26"},{"name":"Actively_Exploited_Kev | Oct 24, 2026","url":"https://otx.alienvault.com/pulse/6adb740e397c3ad4799aa4cd","created":"2026-10-23"},{"name":"Actively_Exploited_Kev | Oct 23, 2026","url":"https://otx.alienvault.com/pulse/6ada236fcfba2dfa730ea482","created":"2026-10-22"},{"name":"Actively_Exploited_Kev | Oct 22, 2026","url":"https://otx.alienvault.com/pulse/6ad8d33a077cbb5cab524d80","created":"2026-10-21"},{"name":"Actively_Exploited_Kev | Oct 21, 2026","url":"https://otx.alienvault.com/pulse/6ad78130c4d1ac2be83a8b6d","created":"2026-10-20"},{"name":"Actively_Exploited_Kev | Oct 20, 2026","url":"https://otx.alienvault.com/pulse/6ad62f63c24a405a3423cc13","created":"2026-10-19"},{"name":"Actively_Exploited_Kev | Oct 19, 2026","url":"https://otx.alienvault.com/pulse/6ad4dda174e5797d0bd238b7","created":"2026-10-18"},{"name":"Actively_Exploited_Kev | Oct 18, 2026","url":"https://otx.alienvault.com/pulse/6ad38c22e1848f8189d1c121","created":"2026-10-17"}],"provenance":"machine"},"cwes":[{"id":"CWE-78","name":"Improper Neutralization of Special Elements used in an OS Command"}],"references":[{"url":"http://lists.opensuse.org/opensuse-security-announce/2020-11/msg00029.html","tags":["Mailing List","Third Party Advisory"]},{"url":"http://packetstormsecurity.com/files/160039/SaltStack-Salt-REST-API-Arbitrary-Command-Execution.html","tags":["Exploit","Third Party Advisory","VDB Entry"]},{"url":"https://github.com/saltstack/salt/releases","tags":["Release Notes"]},{"url":"https://lists.debian.org/debian-lts-announce/2020/12/msg00007.html","tags":["Mailing List","Third Party Advisory"]},{"url":"https://lists.debian.org/debian-lts-announce/2022/01/msg00000.html","tags":["Mailing List","Third Party Advisory"]},{"url":"https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/TPOGB2F6XUAIGFDTOCQDNB2VIXFXHWMA/","tags":["Release Notes"]},{"url":"https://security.gentoo.org/glsa/202011-13","tags":["Third Party Advisory"]},{"url":"https://www.debian.org/security/2021/dsa-4837","tags":["Mailing List","Third Party Advisory"]},{"url":"https://www.saltstack.com/blog/on-november-3-2020-saltstack-publicly-disclosed-three-new-cves/","tags":["Broken Link","Vendor Advisory"]},{"url":"https://www.zerodayinitiative.com/advisories/ZDI-20-1379/","tags":["Third Party Advisory","VDB Entry"]},{"url":"https://www.zerodayinitiative.com/advisories/ZDI-20-1380/","tags":["Third Party Advisory","VDB Entry"]},{"url":"https://www.zerodayinitiative.com/advisories/ZDI-20-1381/","tags":["Third Party Advisory","VDB Entry"]},{"url":"https://www.zerodayinitiative.com/advisories/ZDI-20-1382/","tags":["Third Party Advisory","VDB Entry"]},{"url":"https://www.zerodayinitiative.com/advisories/ZDI-20-1383/","tags":["Third Party Advisory","VDB Entry"]},{"url":"http://lists.opensuse.org/opensuse-security-announce/2020-11/msg00029.html","tags":["Mailing List","Third Party Advisory"]},{"url":"http://packetstormsecurity.com/files/160039/SaltStack-Salt-REST-API-Arbitrary-Command-Execution.html","tags":["Exploit","Third Party Advisory","VDB Entry"]},{"url":"https://github.com/saltstack/salt/releases","tags":["Release Notes"]},{"url":"https://lists.debian.org/debian-lts-announce/2020/12/msg00007.html","tags":["Mailing List","Third Party Advisory"]},{"url":"https://lists.debian.org/debian-lts-announce/2022/01/msg00000.html","tags":["Mailing List","Third Party Advisory"]},{"url":"https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/TPOGB2F6XUAIGFDTOCQDNB2VIXFXHWMA/","tags":["Release Notes"]},{"url":"https://security.gentoo.org/glsa/202011-13","tags":["Third Party Advisory"]},{"url":"https://www.debian.org/security/2021/dsa-4837","tags":["Mailing List","Third Party Advisory"]},{"url":"https://www.saltstack.com/blog/on-november-3-2020-saltstack-publicly-disclosed-three-new-cves/","tags":["Broken Link","Vendor Advisory"]},{"url":"https://www.zerodayinitiative.com/advisories/ZDI-20-1379/","tags":["Third Party Advisory","VDB Entry"]},{"url":"https://www.zerodayinitiative.com/advisories/ZDI-20-1380/","tags":["Third Party Advisory","VDB Entry"]},{"url":"https://www.zerodayinitiative.com/advisories/ZDI-20-1381/","tags":["Third Party Advisory","VDB Entry"]},{"url":"https://www.zerodayinitiative.com/advisories/ZDI-20-1382/","tags":["Third Party Advisory","VDB Entry"]},{"url":"https://www.zerodayinitiative.com/advisories/ZDI-20-1383/","tags":["Third Party Advisory","VDB Entry"]},{"url":"https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2020-16846","tags":["US Government Resource"]}],"techniques":[{"id":"T1190","name":"Exploit Public-Facing Application","tactics":["initial-access"],"provenance":"ai","basis":"ai-mapping","bases":["ai-mapping"],"basisDetail":"claude-haiku-5-5: Unauthenticated crafted requests to public-facing API","mappingType":"exploitation_technique","evidence":[{"from":"description","quote":"Sending crafted web requests to the Salt API","start":56,"end":100}],"model":"claude-haiku-5-5","confidence":"medium","confidenceNote":"AI-mapped from the description (quote-validated, not expert-reviewed)"},{"id":"T1059","name":"Command and Scripting Interpreter","tactics":["execution"],"provenance":"ai","basis":"ai-mapping","bases":["ai-mapping"],"basisDetail":"claude-haiku-5-5: Shell injection enables arbitrary command execution","mappingType":"primary_impact","evidence":[{"from":"description","quote":"can result in shell injection","start":131,"end":160}],"model":"claude-haiku-5-5","confidence":"medium","confidenceNote":"AI-mapped from the description (quote-validated, not expert-reviewed)"}],"reports":[],"affected":[{"ecosystem":"PyPI","package":"salt","vulnerableRanges":["<2015.8.13",">=2016.3.0, <2016.3.8",">=2016.11.0, <2016.11.10",">=2017.5.0, <2017.7.8",">=2018.2.0, <2018.3.5",">=2019.2.0, <2019.2.6",">=3000.0, <3000.4",">=3001, <3001.2",">=3002, <3002.1","<2015.8.10",">=2015.8.11, <2015.8.13",">=2016.3.0, <2016.3.4",">=2016.3.5, <2016.3.6",">=2016.3.7, <2016.3.8",">=2016.11.0, <2016.11.3",">=2016.11.4, <2016.11.6",">=2016.11.7, <2016.11.10",">=2017.7.0, <2017.7.4",">=2017.7.5, <2017.7.8",">=2018.3.0rc1, <2018.3.5",">=2019.2.0, <2019.2.5",">=3000, <3000.3"],"patched":["2015.8.13","2016.3.8","2016.11.10","2017.7.8","2018.3.5","2019.2.6","3000.4","3001.2","3002.1","2015.8.10","2016.3.4","2016.3.6","2016.11.3","2016.11.6","2017.7.4","2019.2.5","3000.3"],"from":["GHSA-qr38-h96j-2j3w","PYSEC-2020-104"],"provenance":"source"}],"advisories":[{"id":"GHSA-qr38-h96j-2j3w","url":"https://github.com/advisories/GHSA-qr38-h96j-2j3w","severity":"CRITICAL","ecosystem":"PyPI","package":"salt","vulnerableRanges":["<2015.8.13"],"patched":["2015.8.13"],"provenance":"source","from":"GHSA"},{"id":"GHSA-qr38-h96j-2j3w","url":"https://github.com/advisories/GHSA-qr38-h96j-2j3w","severity":"CRITICAL","ecosystem":"PyPI","package":"salt","vulnerableRanges":[">=2016.3.0, <2016.3.8"],"patched":["2016.3.8"],"provenance":"source","from":"GHSA"},{"id":"GHSA-qr38-h96j-2j3w","url":"https://github.com/advisories/GHSA-qr38-h96j-2j3w","severity":"CRITICAL","ecosystem":"PyPI","package":"salt","vulnerableRanges":[">=2016.11.0, <2016.11.10"],"patched":["2016.11.10"],"provenance":"source","from":"GHSA"},{"id":"GHSA-qr38-h96j-2j3w","url":"https://github.com/advisories/GHSA-qr38-h96j-2j3w","severity":"CRITICAL","ecosystem":"PyPI","package":"salt","vulnerableRanges":[">=2017.5.0, <2017.7.8"],"patched":["2017.7.8"],"provenance":"source","from":"GHSA"},{"id":"GHSA-qr38-h96j-2j3w","url":"https://github.com/advisories/GHSA-qr38-h96j-2j3w","severity":"CRITICAL","ecosystem":"PyPI","package":"salt","vulnerableRanges":[">=2018.2.0, <2018.3.5"],"patched":["2018.3.5"],"provenance":"source","from":"GHSA"},{"id":"GHSA-qr38-h96j-2j3w","url":"https://github.com/advisories/GHSA-qr38-h96j-2j3w","severity":"CRITICAL","ecosystem":"PyPI","package":"salt","vulnerableRanges":[">=2019.2.0, <2019.2.6"],"patched":["2019.2.6"],"provenance":"source","from":"GHSA"},{"id":"GHSA-qr38-h96j-2j3w","url":"https://github.com/advisories/GHSA-qr38-h96j-2j3w","severity":"CRITICAL","ecosystem":"PyPI","package":"salt","vulnerableRanges":[">=3000.0, <3000.4"],"patched":["3000.4"],"provenance":"source","from":"GHSA"},{"id":"GHSA-qr38-h96j-2j3w","url":"https://github.com/advisories/GHSA-qr38-h96j-2j3w","severity":"CRITICAL","ecosystem":"PyPI","package":"salt","vulnerableRanges":[">=3001, <3001.2"],"patched":["3001.2"],"provenance":"source","from":"GHSA"},{"id":"GHSA-qr38-h96j-2j3w","url":"https://github.com/advisories/GHSA-qr38-h96j-2j3w","severity":"CRITICAL","ecosystem":"PyPI","package":"salt","vulnerableRanges":[">=3002, <3002.1"],"patched":["3002.1"],"provenance":"source","from":"GHSA"}],"euvd":{"id":"EUVD-2020-0173","url":"https://euvd.enisa.europa.eu/vulnerability/EUVD-2020-0173","exploited":true,"exploitedSince":"2021-11-03","provenance":"source"},"exploits":[],"exploitSources":{"pocGithub":{"count":1,"skipped":1,"earliest":"2022-12-12","earliestUrl":"https://github.com/hamza-boudouche/projet-secu","repos":[{"name":"hamza-boudouche/projet-secu","url":"https://github.com/hamza-boudouche/projet-secu","stars":0,"created":"2022-12-12"}]},"metasploit":[{"name":"SaltStack Salt REST API Arbitrary Command Execution","module":"exploit/linux/http/saltstack_salt_api_cmd_exec","type":"exploit","disclosureDate":"2020-11-03","url":"https://github.com/rapid7/metasploit-framework/blob/master/modules/exploits/linux/http/saltstack_salt_api_cmd_exec.rb"}],"nuclei":[{"id":"CVE-2020-16846","name":"SaltStack <=3002 - Shell Injection","severity":"critical","path":"http/cves/2020/CVE-2020-16846.yaml","url":"https://github.com/projectdiscovery/nuclei-templates/blob/main/http/cves/2020/CVE-2020-16846.yaml"}],"first":{"date":"2020-11-03","source":"Metasploit","url":"https://github.com/rapid7/metasploit-framework/blob/master/modules/exploits/linux/http/saltstack_salt_api_cmd_exec.rb"},"provenance":"source"},"exploitRefs":["http://packetstormsecurity.com/files/160039/SaltStack-Salt-REST-API-Arbitrary-Command-Execution.html"],"flow":[{"stage":"exploitation","techniques":["T1190"],"provenance":"ai"},{"stage":"primary","techniques":["T1059"],"provenance":"ai"}],"timeline":[{"date":"2020-11-03","kind":"exploit-public","label":"First public exploit: Metasploit; later: PoC-in-GitHub 2022-12-12","url":"https://github.com/rapid7/metasploit-framework/blob/master/modules/exploits/linux/http/saltstack_salt_api_cmd_exec.rb","provenance":"source"},{"date":"2020-11-06","kind":"published","label":"Published (NVD)","url":"https://nvd.nist.gov/vuln/detail/CVE-2020-16846","provenance":"source"},{"date":"2021-04-24","kind":"exploited-reported","label":"Exploitation first reported (VulnCheck KEV evidence)","url":"https://www.bleepingcomputer.com/news/security/new-cryptomining-malware-builds-an-army-of-windows-linux-bots/","provenance":"source"},{"date":"2021-11-03","kind":"kev","label":"Added to CISA KEV","url":"https://www.cisa.gov/known-exploited-vulnerabilities-catalog","provenance":"source"},{"date":"2021-11-03","kind":"euvd-exploited","label":"ENISA EUVD: exploited","url":"https://euvd.enisa.europa.eu/vulnerability/EUVD-2020-0173","provenance":"source"}],"speed":{"daysToPublicExploit":null,"firstExploitFrom":"Metasploit","daysToKev":362},"priority":{"score":69.8,"factors":[{"name":"In a KEV catalog","points":35.0,"detail":"listed in CISA KEV and VulnCheck KEV"},{"name":"Recent KEV listing","points":0.0,"detail":"added 2016 days ago"},{"name":"Known ransomware use","points":0.0,"detail":"not known"},{"name":"EPSS percentile","points":19.99,"detail":"percentile 0.9995"},{"name":"Named in threat reports","points":0.0,"detail":"0 reports"},{"name":"Public exploit code","points":5.0,"detail":"1 NVD reference tagged Exploit; 1 PoC-in-GitHub repo; 1 Metasploit module; 1 nuclei template"},{"name":"Mentioned in OTX pulses","points":3.0,"detail":"50 pulses"},{"name":"CVSS severity","points":6.86,"detail":"base score 9.8"},{"name":"End-of-life product","points":0.0,"detail":"supported or unknown"}]},"lineage":{"packageHistory":[{"cve":"CVE-2019-17361","published":"2020-01-17","fixed":"2019.2.3","kev":false},{"cve":"CVE-2020-11651","published":"2020-04-30","fixed":"3000.2","kev":true},{"cve":"CVE-2020-11652","published":"2020-04-30","fixed":"3000.2","kev":true,"link":{"from":"CVE-2020-11652","to":"CVE-2020-16846","relation":"successor","confidence":"low","kind":"sequence","evidence":[{"kind":"version-step","provenance":"source","package":"PyPI:salt","fromFixed":"3000.2","toFixed":"3000.3","daysApart":190}]}},{"cve":"CVE-2020-16846","published":"2020-11-06","fixed":"3002.1","kev":true},{"cve":"CVE-2020-17490","published":"2020-11-06","fixed":"3002.1","kev":false,"link":{"from":"CVE-2020-16846","to":"CVE-2020-17490","relation":"successor","confidence":"low","kind":"sequence","orderedBy":"description","evidence":[{"kind":"version-step","provenance":"source","package":"PyPI:salt","fromFixed":"3000.3","toFixed":"3000.4","daysApart":0}]}},{"cve":"CVE-2020-25592","published":"2020-11-06","fixed":"3002.1","kev":false,"link":{"from":"CVE-2020-16846","to":"CVE-2020-25592","relation":"successor","confidence":"low","kind":"sequence","orderedBy":"description","evidence":[{"kind":"version-step","provenance":"source","package":"PyPI:salt","fromFixed":"2019.2.6","toFixed":"2019.2.7","daysApart":0},{"kind":"version-step","provenance":"source","package":"PyPI:salt","fromFixed":"3000.4","toFixed":"3000.5","daysApart":0}]}},{"cve":"CVE-2021-25315","published":"2021-03-03","fixed":"3002.2","kev":false,"link":{"from":"CVE-2020-16846","to":"CVE-2021-25315","relation":"successor","confidence":"low","kind":"sequence","evidence":[{"kind":"version-step","provenance":"source","package":"PyPI:salt","fromFixed":"3002.1","toFixed":"3002.2","daysApart":117}]}}],"package":"PyPI:salt"}}