{"id":"CVE-2020-25592","published":"2020-11-06T07:31:53Z","modified":"2024-08-04T15:33:05Z","title":"In SaltStack Salt through 3002, salt-netapi improperly validates eauth credentials and tokens","vendor":null,"product":null,"tier":"core","eol":null,"description":{"text":"In SaltStack Salt through 3002, salt-netapi improperly validates eauth credentials and tokens. A user can bypass authentication and invoke Salt SSH.","provenance":"source","from":"CVE.org"},"summary":{"text":"The flaw lies in salt-netapi, the network API component of SaltStack Salt through version 3002, which improperly validates eauth credentials and tokens.","provenance":"ai","model":"claude-haiku-5-5","generatedAt":"2026-10-29T07:21:02Z"},"cvss":null,"epss":{"score":0.56817,"percentile":0.99063,"date":"2026-10-29","provenance":"source"},"kev":null,"vulncheckKev":null,"exploited":false,"otx":{"pulseCount":0,"pulses":[],"provenance":"machine"},"cwes":[],"references":[{"url":"https://docs.saltstack.com/en/latest/topics/releases/index.html","tags":["x_refsource_MISC"]},{"url":"https://www.saltstack.com/blog/on-november-3-2020-saltstack-publicly-disclosed-three-new-cves/","tags":["x_refsource_CONFIRM"]},{"url":"https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/TPOGB2F6XUAIGFDTOCQDNB2VIXFXHWMA/","tags":["vendor-advisory","x_refsource_FEDORA"]},{"url":"http://lists.opensuse.org/opensuse-security-announce/2020-11/msg00029.html","tags":["vendor-advisory","x_refsource_SUSE"]},{"url":"https://security.gentoo.org/glsa/202011-13","tags":["vendor-advisory","x_refsource_GENTOO"]},{"url":"http://packetstormsecurity.com/files/160039/SaltStack-Salt-REST-API-Arbitrary-Command-Execution.html","tags":["x_refsource_MISC"]},{"url":"https://lists.debian.org/debian-lts-announce/2020/12/msg00007.html","tags":["mailing-list","x_refsource_MLIST"]},{"url":"https://www.debian.org/security/2021/dsa-4837","tags":["vendor-advisory","x_refsource_DEBIAN"]}],"techniques":[],"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.7",">=3000.0, <3000.5",">=3001.0, <3001.3",">=3002.0, <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.7","3000.5","3001.3","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-29j3-2446-5j4w","PYSEC-2020-106"],"provenance":"source"}],"advisories":[{"id":"GHSA-29j3-2446-5j4w","url":"https://github.com/advisories/GHSA-29j3-2446-5j4w","severity":"CRITICAL","ecosystem":"PyPI","package":"salt","vulnerableRanges":["<2015.8.13"],"patched":["2015.8.13"],"provenance":"source","from":"GHSA"},{"id":"GHSA-29j3-2446-5j4w","url":"https://github.com/advisories/GHSA-29j3-2446-5j4w","severity":"CRITICAL","ecosystem":"PyPI","package":"salt","vulnerableRanges":[">=2016.3.0, <2016.3.8"],"patched":["2016.3.8"],"provenance":"source","from":"GHSA"},{"id":"GHSA-29j3-2446-5j4w","url":"https://github.com/advisories/GHSA-29j3-2446-5j4w","severity":"CRITICAL","ecosystem":"PyPI","package":"salt","vulnerableRanges":[">=2016.11.0, <2016.11.10"],"patched":["2016.11.10"],"provenance":"source","from":"GHSA"},{"id":"GHSA-29j3-2446-5j4w","url":"https://github.com/advisories/GHSA-29j3-2446-5j4w","severity":"CRITICAL","ecosystem":"PyPI","package":"salt","vulnerableRanges":[">=2017.5.0, <2017.7.8"],"patched":["2017.7.8"],"provenance":"source","from":"GHSA"},{"id":"GHSA-29j3-2446-5j4w","url":"https://github.com/advisories/GHSA-29j3-2446-5j4w","severity":"CRITICAL","ecosystem":"PyPI","package":"salt","vulnerableRanges":[">=2018.2.0, <2018.3.5"],"patched":["2018.3.5"],"provenance":"source","from":"GHSA"},{"id":"GHSA-29j3-2446-5j4w","url":"https://github.com/advisories/GHSA-29j3-2446-5j4w","severity":"CRITICAL","ecosystem":"PyPI","package":"salt","vulnerableRanges":[">=2019.2.0, <2019.2.7"],"patched":["2019.2.7"],"provenance":"source","from":"GHSA"},{"id":"GHSA-29j3-2446-5j4w","url":"https://github.com/advisories/GHSA-29j3-2446-5j4w","severity":"CRITICAL","ecosystem":"PyPI","package":"salt","vulnerableRanges":[">=3000.0, <3000.5"],"patched":["3000.5"],"provenance":"source","from":"GHSA"},{"id":"GHSA-29j3-2446-5j4w","url":"https://github.com/advisories/GHSA-29j3-2446-5j4w","severity":"CRITICAL","ecosystem":"PyPI","package":"salt","vulnerableRanges":[">=3001.0, <3001.3"],"patched":["3001.3"],"provenance":"source","from":"GHSA"},{"id":"GHSA-29j3-2446-5j4w","url":"https://github.com/advisories/GHSA-29j3-2446-5j4w","severity":"CRITICAL","ecosystem":"PyPI","package":"salt","vulnerableRanges":[">=3002.0, <3002.1"],"patched":["3002.1"],"provenance":"source","from":"GHSA"}],"euvd":{"id":"EUVD-2020-0175","url":"https://euvd.enisa.europa.eu/vulnerability/EUVD-2020-0175","exploited":false,"exploitedSince":null,"provenance":"source"},"exploits":[],"exploitSources":{"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"}],"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":[],"timeline":[{"date":"2020-11-03","kind":"exploit-public","label":"First public exploit: Metasploit","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 (CVE.org)","url":"https://www.cve.org/CVERecord?id=CVE-2020-25592","provenance":"source"}],"speed":{"daysToPublicExploit":null,"firstExploitFrom":"Metasploit","daysToKev":null},"priority":{"score":24.8,"factors":[{"name":"In a KEV catalog","points":0.0,"detail":"not listed"},{"name":"Recent KEV listing","points":0.0,"detail":"not listed"},{"name":"Known ransomware use","points":0.0,"detail":"not known"},{"name":"EPSS percentile","points":19.81,"detail":"percentile 0.9906"},{"name":"Named in threat reports","points":0.0,"detail":"0 reports"},{"name":"Public exploit code","points":5.0,"detail":"1 NVD exploit link; 1 Metasploit module"},{"name":"Mentioned in OTX pulses","points":0.0,"detail":"0 pulses"},{"name":"CVSS severity","points":0.0,"detail":"no CVSS"},{"name":"End-of-life product","points":0.0,"detail":"supported or unknown"}]},"lineage":{"packageHistory":[{"cve":"CVE-2020-11652","published":"2020-04-30","fixed":"3000.2","kev":true,"link":{"from":"CVE-2020-11652","to":"CVE-2020-25592","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,"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-2020-17490","published":"2020-11-06","fixed":"3002.1","kev":false},{"cve":"CVE-2020-25592","published":"2020-11-06","fixed":"3002.1","kev":false},{"cve":"CVE-2021-25315","published":"2021-03-03","fixed":"3002.2","kev":false},{"cve":"CVE-2020-28243","published":"2021-02-27","fixed":"3002.3","kev":false},{"cve":"CVE-2020-28972","published":"2021-02-27","fixed":"3002.3","kev":false},{"cve":"CVE-2021-25281","published":"2021-02-27","fixed":"3002.5","kev":false,"link":{"from":"CVE-2020-25592","to":"CVE-2021-25281","relation":"successor","confidence":"low","kind":"sequence","evidence":[{"kind":"version-step","provenance":"source","package":"PyPI:salt","fromFixed":"3000.5","toFixed":"3000.6","daysApart":113},{"kind":"version-step","provenance":"source","package":"PyPI:salt","fromFixed":"3001.3","toFixed":"3001.4","daysApart":113}]}},{"cve":"CVE-2021-25282","published":"2021-02-27","fixed":"3002.5","kev":false,"link":{"from":"CVE-2020-25592","to":"CVE-2021-25282","relation":"successor","confidence":"low","kind":"sequence","evidence":[{"kind":"version-step","provenance":"source","package":"PyPI:salt","fromFixed":"3000.5","toFixed":"3000.6","daysApart":113},{"kind":"version-step","provenance":"source","package":"PyPI:salt","fromFixed":"3001.3","toFixed":"3001.4","daysApart":113}]}},{"cve":"CVE-2021-3197","published":"2021-02-27","fixed":"3002.5","kev":false,"link":{"from":"CVE-2020-25592","to":"CVE-2021-3197","relation":"successor","confidence":"low","kind":"sequence","evidence":[{"kind":"version-step","provenance":"source","package":"PyPI:salt","fromFixed":"3000.5","toFixed":"3000.6","daysApart":113},{"kind":"version-step","provenance":"source","package":"PyPI:salt","fromFixed":"3001.3","toFixed":"3001.4","daysApart":113}]}}],"package":"PyPI:salt"}}