CVE-2020-11651 - Authentication bypass vulnerabilities
The ClearFuncs class processes unauthenticated requests and
unintentionally exposes the _send_pub() method, which can be used to
queue messages directly on the master publish server. Such messages
can be used to trigger minions to run arbitrary commands as root.
The ClearFuncs class also exposes the method _prep_auth_info(),
which returns the "root key" used to authenticate commands from the
local root user on the master server. This "root key" can then be
used to remotely call administrative commands on the master server.
This unintentional exposure provides a remote un-authenticated
attacker with root-equivalent access to the salt master.
CVE-2020-11652 - Directory traversal vulnerabilities
The wheel module contains commands used to read and write files
under specific directory paths. The inputs to these functions are
concatenated with the target directory and the resulting path is not
canonicalized, leading to an escape of the intended path restriction.
The get_token() method of the salt.tokens.localfs class (which is
exposed to unauthenticated requests by the ClearFuncs class) fails
to sanitize the token input parameter which is then used as a
filename, allowing insertion of ".." path elements and thus reading
of files outside of the intended directory. The only restriction is
that the file has to be deserializable by salt.payload.Serial.loads().