Главная » Хабрахабр » В systemd нашли три уязвимости — разбираемся, в чем дело

В systemd нашли три уязвимости — разбираемся, в чем дело

В начале месяца специалисты по ИБ из Qualys обнаружили сразу три уязвимости в systemd — подсистеме инициализации Linux — позволяющие злоумышленнику получить права суперпользователя. Рассказываем, в чем их суть и какие дистрибутивы им подвержены.


/ Flickr / David Goehring / CC BY / Фото изменено

Старые новые уязвимости

Все три уязвимости связаны с сервисом ведения журнала systemd — journald. В базе данных CVE им присвоили следующие идентификаторы: CVE-2018-16864, CVE-2018-16865 и CVE-2018-16866. Эти уязвимости дают злоумышленнику возможность заполучить root-права на атакуемой системе.

Среди исключений числятся SUSE Linux Enterprise 15 и openSUSE Leap 15. Опасности подвержены все дистрибутивы без функции защиты пользовательского пространства (-fstack-check) — Debian, Ubuntu, Fedora, CentOS, Mageia и др. 0, а также Fedora версий 28 и 29.

CVE-2018-16864 возникла в 2013 году, но эксплуатировать её стало можно в 2016-м, когда systemd обновили до 230 версии. Что интересно, всем трем уязвимостям уже несколько лет, просто о них ничего не было известно. CVE-2018-16865 появилась в операционной системе в 2011-м, но стала критичной только через два года, после релиза systemd версии 201.

Однако её случайно закрыли обновлением systemd v240 спустя несколько лет. Что касается третьей уязвимости (CVE-2018-16866), то она существует с 2015 года. Машины без этого патча находятся под угрозой до сих пор.

В чем суть обнаруженных «дыр»

Уязвимость CVE-2018-16864 позволяет злоумышленнику провести манипуляции с командной строкой и отправить множество аргументов (весом в несколько мегабайт) systemd-journald, тем самым вызывая падение процесса. Далее у хакера появляется возможность захватить контроль над расширенным указателем команд (EIP).

В результате часть этого сообщения выходит за пределы стека и попадает в регион mmap. Проблема с CVE-2018-16864 связана с записью большого сообщения в /run/systemd/journal/socket. После злоумышленник может переписать сегмент read-write у libc и заменить указатель функции и запустить в системе любую желаемую цепочку программ.

Если направить системе журналирования специальное сообщение (оканчивающееся символом двоеточия) в формате syslog, то система проигнорирует конец строки и запишет в лог следующую за ним часть стека. Что касается CVE-2018-16866, то она связана с ошибкой разбора строки.

По словам специалистов из Qualys, им удалось создать эксплойт и получить права суперпользователя на компьютерах с архитектурой i386 и amd64 за 10 и 70 минут соответственно. Вторая и третья уязвимость позволяют реализовать так называемую атаку возврата в библиотеку и запускать на машине жертвы любые функции.

Авторы пока держат в тайне код своего эксплойта, поскольку «дыры» есть в большом количестве дистрибутивов, — комментирует начальник отдела развития IaaS-провайдера 1cloud.ru Сергей Белкин. «Эти уязвимости довольно серьезны, учитывая, что они позволяют повышать права доступа в системе. Некоторые разработчики, например из Ubuntu и Red Hat, уже выложили необходимые патчи. — Они его опубликуют, когда уявзимости будут закрыты. Их можно найти в официальных репозиториях».


/ Flickr / bradleypjohnson / CC BY

Какие еще уязвимости находили в systemd

Последний раз уязвимость в systemd обнаружили в октябре 2018 года. DHCPv6-клиент менеджера служб автоматически запускался при получении сообщения от любого DHCP-сервера локальной сети или интернет-провайдера. С помощью этого сообщения в systemd можно было вызвать отказ памяти и получить контроль над компьютером.

Один из них позволял злоумышленникам использовать TCP-пакеты, чтобы выполнить любой код в системе. До этого несколько багов в коде менеджера служб нашли в 2017 году. Это позволяло писать произвольные данные за пределами буфера в основную память. TCP-пакеты «заставляли» systemd выделять слишком маленький объём буфера для сообщения.

В некоторых дистрибутивах, например CentOS и RHEL7, в systemd была возможность создать профиль с именем пользователя, которое начинается с цифры. Другая уязвимость 2017 года была связана с несанкционированным получением прав суперпользователя. Но если в системе появлялся такой пользователь, менеджер служб предоставлял ему права администратора. Хотя обычно в Linux эта возможность не предусмотрена.

«Заплатки» для новых «дыр», обнаруженных в январе, тоже постепенно появляются. Все эти уязвимости были закрыты в короткие сроки. Можно ожидать, что скоро уязвимости закроют в большинстве дистрибутивов, и администраторам Linux-серверов и компьютеров останется только установить обновление системы.

Посты из корпоративного блога 1cloud:


Оставить комментарий

Ваш email нигде не будет показан
Обязательные для заполнения поля помечены *

*

x

Ещё Hi-Tech Интересное!

Магнитная лента в 21 веке — как её используют

Магнитная лента не исчезла насовсем и до сих пор находит применение в дата-центрах. Фото — Don DeBold — CC BY Высокая ёмкость Это — одно из главных преимуществ магнитных лент. Когда в середине девяностых на прилавках магазинов появились коммерческие винчестеры ...

Обман автоматизированных камер наблюдения

Хотя технология далека от совершенства, она уже позволяет вычислять преступников, находить профили в социальных сетях, отслеживать изменения и многое другое. В последние годы возрос интерес к моделям машинного обучения, в том числе для распознавания зрительных образов и лиц. В этой ...