В MySQL найдены две 0-day уязвимости, патчей для них пока нет

В MySQL найдены две 0-day уязвимости, патчей для них пока нет

В MySQL найдены две 0-day уязвимости, патчей для них пока нет

Исследователь из Польши, Давид Голунски (Dawid Golunski), обнаружил в MySQL сразу два критических 0-day бага. Проблемы распространяются на MySQL 5.7.15, 5.6.33 и 5.5.52, а также были актуальны для MariaDB и PerconaDB. Хотя некоторые разработчики уже выпустили исправления для найденных уязвимостей, Oracle патч пока не представила, а исследователь уже опубликовал proof-of-concept.

Голунски обнаружил баги CVE-2016-6662 и CVE-2016-6663 еще в июле 2016 года, однако у Oracle существует строгий график выпуска патчей. Так, обновление Oracle Critical Patch Update было выпущено 19 июля 2016 года, тогда как исследователь сообщил представителям компании о найденных проблемах 29 июля. Очевидно, исправление для двух критических проблем в MySQL будут выпущены 18 октября 2016 года, в составе следующего Critical Patch Update.

Разработчики PerconaDB и MariaDB, в свою очередь, уже устранили уязвимости в своих продуктах, и сообщили об этом в сопроводительной документации к новым релизам. Голунски пишет, что именно это побудило его раскрыть информацию о багах, хотя патч от Oracle еще не готов: информация об уязвимостях уже известна потенциальным злоумышленникам, так что скрывать подробности теперь нет смысла, пишет xakep.ru.

«Прошло более 40 дней с момента сообщения о проблемах, и патчи для них уже были упомянуты публично. Было принято решение раскрыть информацию об уязвимостях (с ограниченным proof-of-concept), чтобы предупредить пользователей об угрозе, пока производитель еще не представил следующий Critical Patch Update, что произойдет только в октябре», — пишет исследователь.

Пока Голунски обнародовал подробности только о проблеме CVE-2016-6662. Данный баг позволяет атакующему (удаленному или локальному) внедрить кастомные настройки в файлы конфигурации my.conf. Проблема актуальна только для MySQL-серверов, работающих с настройками по умолчанию, а триггером к срабатыванию проблемы послужит первый же рестарт БД, произведенный после осуществления атаки. Исследователь пишет, что атакующий, к примеру, может использовать SQL-инъекцию для доставки кода эксплоита. В итоге CVE-2016-6662 и работа скрипта mysqld_safe позволят злоумышленнику подменить файл my.conf и загрузить сторонний код, который будет выполнен с root-привилегиями. Все это приведет к полной компрометации сервера, при том атака сработает даже в том случае, если на сервере работает SELinux или защитный модуль ядра AppArmor Linux.

О проблеме CVE-2016-6663 Голунски пока рассказал мало. Он пишет, что второй баг является вариацией уязвимости CVE-2016-6662, а его эксплуатация тоже приводит к удаленному исполнению произвольного кода с привилегиями root-пользователя.

«Нераскрытая уязвимость позволит атакующему с легкостью создать файл /var/lib/mysql/my.cnf с произвольным содержимым, и FILE-привилегии не потребуются», — пишет Голунски.

В качестве временных мер защиты, пока разработчики Oracle не представили патч, исследователь рекомендует проверить, чтобы все файлы конфигурации MySQL на сервере принадлежали реальным mysql-пользователям, а также советует использовать root и самостоятельно создать файлы my.cnf, которые не будут использоваться.

AM LiveПодписывайтесь на канал "AM Live" в Telegram, чтобы первыми узнавать о главных событиях и предстоящих мероприятиях по информационной безопасности.

Две уязвимости в ksmbd Linux позволяют получить root через SMB

Без лишней мистики: исследователь в области кибербезопасности BitsByWill подробно разобрал две критические уязвимости в ksmbd — встроенном в ядро Linux SMB-сервере. Речь о CVE-2023-52440 и CVE-2023-4130 — и самое неприятное, что они отлично склеиваются в рабочую эксплойт-цепочку.

Первая уязвимость, CVE-2023-52440, описывается как контролируемое SLUB-переполнение в функции ksmbd_decode_ntlmssp_auth_blob().

Как пишет BitsByWill, длина sess_key_len контролируется пользователем, и при определённой подаче данных можно переполнить фиксированный буфер sess_key во время вызова cifs_arc4_crypt. Проще говоря — достаточно модифицировать одну строку в ntlm-клиентской библиотеке (в примере — Impacket), чтобы сгенерировать специально подготовленное NTLM-сообщение и получить неаутентифицированное удалённое переполнение буфера с контролем размера и содержимого.

Вторая уязвимость, CVE-2023-4130, — это чтение за пределами буфера (OOB read) в smb2_set_ea(). Из-за плохой проверки расширенных атрибутов (EA) злоумышленник с правом записи на шаре может заставить ksmbd неправильно интерпретировать структуру и считать дополнительные записи. В результате соседние данные кучи попадают в xattr, откуда их можно извлечь через SMB3 queryInfo. То есть брешь позволяет вытянуть части памяти ядра и, например, сломать KASLR.

И вот где всё становится опасно: переполнение даёт запись, чтение даёт утечку. Связав CVE-2023-52440 и CVE-2023-4130, BitsByWill показал рабочий путь до реального ROP-эксплойта.

Для демонстрации потребовались учётные данные пользователя с правом записи на шару, поэтому исследователь пишет о 0-click с аутентификацией — формулировка спорная, но смысл понятен: если админ разрешил анонимную запись в шаре, шанс эксплуатации становится ещё выше.

Авторы анализа подчёркивают практические сценарии: модификация таблиц страниц для произвольного чтения/записи, вынимание секретов из соседних процессов или подготовка ROP-цепочки для исполнения кода в контексте ядра. Всё это — классика эскалации привилегий, но в данном случае — прямо через SMB-интерфейс ядра.

Патчи уже вышли, и производители/поддерживающие дистрибутивы закрывали эти баги, но реальная угроза — не только в уязвимом коде, а в конфигурациях и устаревших системах. Как обычно, напомним: открытые для записи шар-ресурсы, устаревшее ПО и несвоевременное обновление — идеальная среда для подобных атак.

AM LiveПодписывайтесь на канал "AM Live" в Telegram, чтобы первыми узнавать о главных событиях и предстоящих мероприятиях по информационной безопасности.

RSS: Новости на портале Anti-Malware.ru