Скомпрометированный MySQL-сервер может получать произвольные локальные файлы клиентов
Исследователь безопасности Willem de Groot обратил внимание на недоработку, напоминающую недавно выявленнуюуязвимость в реализации SCP. Подконтрольный злоумышленнику сервер MySQL может получить доступ к файлам на локальной системе клиента (в рамках его прав доступа). Вместо отправляемых при помощи команды "LOAD DATA LOCAL" файлов сервер может загрузить произвольные файлы с системы клиента, например, SSH-ключи или параметры криптокошельков.
Как и в случае SCP, проблема вызвана тем, что имена загружаемых файлов формирует сервер, а клиентская библиотека лишь выполняет переданную сервером команду без проверки её соответствия исходному запросу. Подразумевается, что имя файла, указанное в отправленной пользователем конструкции "LOAD DATA...LOCAL", совпадает с именем файла, указанным в запросе сервера. В случае, если сервер MySQL контролируется злоумышленником, он может быть модифицирован для запроса произвольных файлов.
Поддержка LOAD DATA...LOCAL" на стороне клиента регулируется сборочной опции "ENABLED_LOCAL_INFILE" и параметром MYSQL_OPT_LOCAL_INFILE в mysql_options(). В ветке MySQL 8.0 данный режим был отключён по умолчанию, но остаётся включён в ветках 5.5, 5.6 и 5.7.
Источник: www.opennet.ru