Miggo Logo

CVE-2020-28243: SaltStack Salt command injection via a crafted process name

7.8

CVSS Score
3.1

Basic Information

EPSS Score
0.82321%
Published
5/24/2022
Updated
10/22/2024
KEV Status
No
Technology
TechnologyPython

Technical Details

CVSS Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Package NameEcosystemVulnerable VersionsFirst Patched Version
saltpip< 2015.8.132015.8.13
saltpip>= 2016.3.0, < 2016.11.52016.11.5
saltpip>= 2016.11.7, < 2016.11.102016.11.10
saltpip>= 2017.5.0, < 2017.7.82017.7.8
saltpip>= 2018.2.0, <= 2018.3.5
saltpip>= 2019.2.0, < 2019.2.82019.2.8
saltpip>= 3000, < 3000.73000.7
saltpip>= 3001, < 3001.53001.5
saltpip>= 3002, < 3002.33002.3

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The vulnerability occurs in the 'restartcheck' module where process names are used unsafely in shell commands. The code uses 'subprocess.Popen' with 'shell=True' and concatenates the 'package' variable (derived from process names) into the command string without proper sanitization. This allows attackers to inject arbitrary commands via specially crafted process names. The exploit references and SaltStack's own patching notes confirm this function as the attack vector.

Vulnerable functions

Only Mi**o us*rs **n s** t*is s**tion

WAF Protection Rules

WAF Rule

*n issu* w*s *is*ov*r** in S*ltSt**k S*lt ***or* ****.*. T** minion's `r*st*rt****k` is vuln*r**l* to *omm*n* inj**tion vi* * *r**t** pro**ss n*m*. T*is *llows *or * lo**l privil*** *s**l*tion *y *ny us*r **l* to *r**t* * *il*s on t** minion in * non

Reasoning

T** vuln*r**ility o**urs in t** 'r*st*rt****k' mo*ul* w**r* `pro**ss` n*m*s *r* us** uns***ly in s**ll *omm*n*s. T** *o** us*s 'su*pro**ss.Pop*n' wit* 's**ll=Tru*' *n* *on**t*n*t*s t** 'p**k***' v*ri**l* (**riv** *rom `pro**ss` n*m*s) into t** *omm*n