В середине сентября 2016 года польский исследователь Давид Голунски сообщил, что ему удалось обнаружить сразу две 0-day уязвимости в MySQL, которые также представляют опасность для MariaDB и PerconaDB: CVE-2016-6662 и CVE-2016-6663. Тогда Голунски описал детально только проблему CVE-2016-6662.
Теперь, как и было обещано, Голунски опубликовал подробности о баге, позволяющем атакующему повысить свои привилегии (CVE-2016-6663), а также сообщил о еще одной, новой проблеме, получившей идентификатор CVE-2016-6664. Обе уязвимости представляют опасность для MySQL 5.5.51 им ниже, MySQL 5.6.32 и ниже, а также MySQL 5.7.14 и ниже. Наряду с этим, уязвимы также Percona Server и MariaDB.
Наиболее опасной их двух проблем является CVE-2016-6663, которая позволяет аккаунту с низкими привилегиями (CREATE/INSERT/SELECT) спровоцировать состояние гонки (race condition), получить доступ к БД, повысить свои привилегии и выполнить произвольный код от лица системного пользователя (как правило, mysql). В случае успеха такая атака может привести к компрометации всего сервера и всех БД на нем.
Новый критический баг CVE-2016-6664 тоже нельзя назвать «мелким». Проблема похожа на вышеописанную эскалацию привилегий, с той разницей, что в данном случае злоумышленник может повысить свои права до root-пользователя, что тоже приведет к полной компрометации сервера.
Исследователь опубликовал proof-of-concept эксплоиты (1 и 2) и выложил видеоролик (см. ниже), демонстрирующий атаку на оба бага.
Oracle исправила все найденные Голунски баги, выпустив патчи в составе Critical Patch Update в прошлом месяце и настоятельно рекомендовала всем обновиться. Всем тем, у кого по каким-то причинам нет возможности установить патчи, рекомендуется отключить поддержку symbolic link в настройках сервера: my.cnf to symbolic-links = 0.
Фото: Depositphotos