TMA-TDSQL-4.1
Ensure `local_infile` Is Disabled
Description
The local_infile parameter controls whether clients are allowed to use the LOAD DATA LOCAL INFILE statement. Enabling this feature can be abused by an attacker to read arbitrary files on the client host through carefully crafted SQL statements. Runs the mysql client against the TDSQL data node selected by TDSQL_MYSQL_OPTS (e.g. "-h10.0.0.5 -P4001 -utdsql_audit"); keep the password in ~/.my.cnf or a login path rather than MYSQL_PWD or the command line (see 1.4 and 1.5).
How it is checked
Audit method: SQL query
out=$(mysql ${TDSQL_MYSQL_OPTS:-} -NBe "SELECT @@global.local_infile" 2>/dev/null) || exit 1; printf '%s\n' "$out"- Expected output
0
How it is fixed
Fix method: Guidance or infrastructure patch
Set the instance parameter local_infile = OFF through the TDSQL management platform (OSS) or SET GLOBAL local_infile = OFF; and persist it in the parameter template.
Properties
- Operating systems
- Any
- Tags
- tdsqlhardening
- Reference
- CIS Tencent TDSQL 10.3.22 Benchmark v1.0.0 - 4.1 Ensure `local_infile` Is Disabled
Check this host
Run this on a machine you are allowed to audit. The scan is read-only.
tmaegis scan --target tdsql