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

Опубликованы сведения о критической уязвимости (CVE-2016-6662) в MySQL и производных продуктах, таких как MariaDB и Percona Server. Уязвимость позволяет локально или удалённо атаковать сервер MySQL и повысить свои привилегии до пользователя root.
Смягчает опасность то, что для эксплуатации требуется аутентифицированный доступ к БД или проведение дополнительной атаки на web-приложения, в результате которой необходимо получить возможность подстановки SQL-кода. Усугубляет проблему то, что опубликован начальный прототип эксплоита (полный эксплоит планируется опубликовать позднее, дав время на выпуск обновления), в то время как сама уязвимость проявляется во всех ветках MySQL. Проблема устранена в выпусках MySQL 5.7.15, 5.6.33 и 5.5.52, а также в MariaDB 10.0.27 и Percona Server 5.7.14-7. Обновления пакетов с прошлыми версиями mysql/mariadb в дистрибутивах пока не выпущены (Ubuntu, Debian, RHEL, FreeBSD, CentOS, Fedora, SUSE). Применяемые по умолчанию правила SELinux и AppArmor не влияют на результаты атаки.
Сама по себе выявленная уязвимость позволяет любому пользователю СУБД с правами на выполнение операций SELECT/FILE (без прав FILE можно обойтись, но информация об обходе будет опубликована позднее под CVE-2016-6663) получить доступ к функциям работы с логами, которые должны быть доступны только пользователю admin. Через манипуляции с функциями записи в лог атакующий может изменить или создать файл конфигурации my.cnf. Если для файла my.cnf запрещена запись от пользователя mysql, то атакующий может создать новый файл в директории с данными (/var/lib/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 = '/var/lib/mysql/my.cnf'; set global general_log = on; select 'malloc_lib=/var/lib/mysql/mysql_hookandroot_lib.so'; set global general_log = off;".
Stfw.Ru
Читайте также



Примечание: При комментировании материала просим соблюдать законы Российской Федерации. Пожалуйста, воздержитесь от оскорблений и токсичного поведения.

Сводка событий

14:06 Опубликованы изображения синего Xiaomi Redmi 6 Pro


14:06 Компания Teclast выпустила планшет с экраном 7,9 дюйма


14:06 Tronsmart Element Pixie — портативная колонка с пассивными радиаторами


09:06 VAIO возвращается: первый взгляд на ноутбуки VAIO S11 и S13


09:06 Законопроект о борьбе с угрозами нацбезопасности в информационной сфере предлагает наделить СБУ правом блокировать сайты без решения суда сроком на 48 часов


09:06 «Втрое дешевле, чем у Lockheed Martin и Boeing»: SpaceX заполучила первый военный контракт для Falcon Heavy


09:06 Скоро в инсайдерских сборках Windows 10 появится "Центр управления"


09:06 Планшет Xiaomi Mi Pad 4 узнает владельца по лицу


09:06 Опубликованы параметры смартфона Microsoft Andromeda


09:06 Опубликованы качественные рендеры Samsung Galaxy Note 9


09:06 Недорогой смартфон Vivo Y81 представлен официально


09:06 В iPhone не останется разъемов и кнопок


09:06 Xiaomi Redmi 6 Pro показали на «живых» снимках


Обзор безопасности, новые вирусы, уязвимости в сети. Взлом и защита компьютера, хакерские атаки.