Критическая root-уязвимость в MySQL — HackZona.Ru

Описание сайта

Критическая root-уязвимость в MySQL

<p "="">Опубликованы сведения о критической уязвимости (CVE-2016-6662) в MySQL и производных продуктах, таких как MariaDB и Percona Server. Уязвимость позволяет локально или удалённо атаковать сервер MySQL и повысить свои привилегии до пользователя root, пишет openNET.

Смягчает опасность то, что для эксплуатации требуется аутентифицированный доступ к БД или проведение дополнительной атаки на web-приложения, в результате которой необходимо получить возможность подстановки SQL-кода. Усугубляет проблему то, что опубликован начальный прототип эксплоита (полный эксплоит планируется опубликовать позднее, дав время на выпуск обновления), в то время как сама уязвимость ещё не исправлена (0-day) и проявляется в актуальных выпусках поддерживаемых веток MySQL — 5.7.15, 5.6.33 и 5.5.52. По сведению разработчиков SUSE проблема уже исправлена в MySQL 5.5.52 и MariaDB 10.0.27. Обновления пакетов в дистрибутивах пока не выпущены (Ubuntu, Debian, RHEL, FreeBSD, CentOS, Fedora, SUSE). Применяемые по умолчанию правила SELinux и AppArmor не влияют на результаты атаки.

Непосредственно выявленная уязвимость позволяет любому пользователю СУБД получить доступ к функциям работы с логами, которые должны быть доступны только пользователю admin. Через манипуляции с функциями записи в лог атакующий может изменить или создать файл конфигурации my.cnf. Если для файла my.cnf запрещена запись от пользователя mysql, то атакующий может создать новый файл в директории с данными, которая по умолчанию допускает запись для пользователя mysql.

Возможность выполнения кода с правами root достигается через добавление к конфигурацию конструкции, загружающей подставную библиотеку при очередном перезапуске mysql. В частности, процесс mysqld работает от непривилерованного пользователя, но при запуске используется скрипт mysqld_safe с правами root. В mysqld_safe среди прочего позволяет загрузить альтернативную библиотеку с реализацией функций malloc. Имя библиотеки передаётся через параметр «malloc_lib--malloc-lib=LIB», который также может быть определён в секциях '[mysqld]' и '[mysqld_safe]' файла конфигурации my.cnf. Таким образом, атакующий, имеющий возможность записи в my.cnf, может инициировать загрузку любой библиотеки с правами root.

Интересно, что атака через правку my.cnf не нова и в 2003 году

уже исправлялась в выпуске 3.23.55 (эксплуатация сводилась к выполнению

«SELECT * INFO OUTFILE '/var/lib/mysql/my.cnf'). Новая атака позволяет

использовать функции записи в лог, например:

»set global general_log_file = '/etc/my.cnf'; set global general_log =

on; select 'malloc_lib=/tmp/mysql_exploit_lib.so'; set global

general_log = off;".

Нравится
Не нравится
18:20

Комментарии

Нет комментариев. Ваш будет первым!