Получение контроля за 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.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.