Новости и события » Hi-Tech » В systemd-journald выявлены три уязвимости, позволяющие получить права root

В systemd-journald выявлены три уязвимости, позволяющие получить права root

В компоненте systemd-journald, отвечающем за ведение логов в systemd, выявлены три уязвимости, позволяющие непривилегированному атакующему повысить свои привилегии в системе и выполнить код с правами root. Уязвимости проявляются во всех дистрибутивах, использующих systemd, за исключением SUSE Linux Enterprise 15, openSUSE Leap 15.0 и Fedora 28/29, компоненты systemd в которых собраны с включением в GCC защиты "-fstack-clash-protection".

Уязвимости CVE-2018-16864 и CVE-2018-16865 позволяют создать условия для записи данных вне границ выделенного блока памяти, а уязвимость CVE-2018-16866 дает возможность прочитать содержимое внешних областей памяти. Исследователями подготовлен рабочий прототип эксплоита, который при помощи уязвимостей CVE-2018-16865 и CVE-2018-16866 позволяет получить права root после 10 минут атаки на системах с архитектурой i386 и 70 минут на системах amd64. Работа эксплоита проверена в Debian 9.5.

При написании эксплоита использована техника Stack Сlash, суть которой в создании условий когда содержимое переполненной кучи оказывается в области стека или, наоборот, стек может переписать область кучи, что проявляется в ситуациях, когда стек и куча размещаются смежно и прилегают друг к другу (область стека следует сразу за памятью, выделенную под кучу). Предложенный эксплоит подтверждает предположение, что защиты от атак класса Stack Сlash на уровне ядра Linux недостаточно. При этом атака успешно блокируется при пересборке в GCC с включенной опцией "-fstack-clash-protection".

Уязвимость CVE-2018-16865 была обнаружена после разбора ситуации, когда передача приложениям, сохраняющим данные в лог через вызов syslog, большого числа аргументов командной строки (несколько мегабайт) приводит к краху процесса systemd-journald. Анализ показал, что манипулируя строкой с аргументами командной строки можно осуществить управляемое наложение хвоста кучи на начало стека, но для успешной атаки требуется обойти применяют в ядре технику защиты "stack guard-page", суть которой в подстановке граничных страниц памяти, обращение к которым приводит к генерации исключения (page-fault).

Для обхода данной защиты из параллельно выполняемого потока systemd-journald было инициировано состояния гонки (race condition), позволяющее захватить управление до краха процесса из-за записи в страницу памяти, доступную только для чтения. В процессе изучения первой уязвимости всплыла еще одна проблема CVE-2018-16865, позволяющая создать похожие условия наложения стека и кучи через запись очень большого сообщения в файл /run/systemd/journal/socket. Третья уязвимость CVE-2018-16866 проявляется если отправить syslog-сообщение c последним символом ":". Из-за ошибки разбора строки следующий за ним символ конца строки '&92;0' будет отброшен и в логе окажется кусок буфера за пределами '&92;0', что позволяет узнать адрес стека или mmap.

Уязвимость CVE-2018-16864 проявляется с апреля 2013 года (появилась в systemd 203), но пригодна для эксплуатации только после изменения, внесенного в systemd 230 в феврале 2016 года. Уязвимость CVE-2018-16865 проявляется с декабря 2011 года (systemd 38) и доступна для эксплуатации с апреля 2013 года (systemd 201). Проблемы CVE-2018-16864 и CVE-2018-16865 устранены несколько часов назад в master-ветке systemd. Уязвимость CVE-2018-16866 появилась в июне 2015 года (systemd 221) и [[https://github.com/systemd/systemd/commit/a6aadf4ae0bae185dc4c414d492a4a781c80ffe5]] устранена в августе 2018 года (не проявляется в systemd 240).


Английский для начинающих – как сделать первые шаги

Английский для начинающих – как сделать первые шаги

Изучение английского языка с нуля может показаться сложной и пугающей задачей. Однако с правильным подходом, пошаговым планом, с опорой на онлайн-курсы английского языка https://englishouse.ua/ru/ , а также регулярными усилиями можно быстро освоить основы и...

сегодня 10:16

Свежие новости Украины на сегодня и последние события в мире экономики и политики, культуры и спорта, технологий, здоровья, происшествий, авто и мото

Вверх