TMA-MYSQL-1.4
Verify That the MYSQL_PWD Environment Variable is Not in Use
MediumLevel 1Automatedmysql
Description
MySQL can read a default database password from an environment variable called MYSQL_PWD. Avoiding use of this environment variable can better safeguard the confidentiality of MySQL credentials. Run as root; counts processes whose environment contains MYSQL_PWD (including the scanner itself if it was given MYSQL_PWD).
How it is checked
Audit method: Shell command
shell
[ "$(id -u)" -eq 0 ] || exit 1; n=$(grep -lsaz '^MYSQL_PWD=' /proc/[0-9]*/environ 2>/dev/null | wc -l); echo "$n"- Expected output
0
How it is fixed
Fix method: Guidance or infrastructure patch
Find the processes (grep -lsaz ^MYSQL_PWD= /proc/*/environ) and change the users/scripts that export MYSQL_PWD to use an option file readable only by the user, mysql_config_editor or certificate-based authentication.
Properties
- Operating systems
- Any
- Tags
- mysqldatabasecredentials
- Reference
- CIS Oracle MySQL Community Server 8.4 Benchmark v1.1.0 - 1.4 Verify That the MYSQL_PWD Environment Variable is Not in Use
Check this host
Run this on a machine you are allowed to audit. The scan is read-only.
shell
tmaegis scan --target mysql