Jump to content
Калькуляторы

systemd, поставь свой сервер на паузу. хороший такой, годный факап...

В системном менеджере systemd выявлена локальная уязвимость. Процесс PID 1 зависает на системном вызове pause() при поступлении в сокет уведомлений systemd сообщения нулевой длины, после чего невозможно запустить/остановить демоны или выполнить "чистую" перезагрузку, а systemd-сервисы в стиле inetd перестают принимать соединения. Так как сокет уведомлений /run/systemd/notify доступен всем на запись, то любые локальные пользователи могут вызвать отказ в обслуживании на системах с systemd.

 

Уязвимость проявляется во всех версиях systemd, начиная по крайней мере с версии 209. В настоящее время разработчики systemd занимаются подготовкой патча с устранением уязвимости. Атака сводится к выполнению команды

 

 

NOTIFY_SOCKET=/run/systemd/notify systemd-notify ""

http://www.opennet.ru/opennews/art.shtml?num=45244 - тут только ссылки. Текст весь скопировал.

Share this post


Link to post
Share on other sites

Нужен локальный доступ, который только у админа.

А вообще - да, Леннарт Поттеринг постарался всё усложнить.

Share this post


Link to post
Share on other sites

Нужен локальный доступ, который только у админа.

Дыра. Любая. Чтобы написать в сокет.

Share this post


Link to post
Share on other sites

Выполнил

NOTIFY_SOCKET=/run/systemd/notify systemd-notify ""

на Ubuntu 16 и CentOS 7, система загрузилась.

Share this post


Link to post
Share on other sites

Выполнил

NOTIFY_SOCKET=/run/systemd/notify systemd-notify ""

на Ubuntu 16 и CentOS 7, система загрузилась.

Там частенько в цикле надо...

 

Да, а почто оно не должно загрузиться?

 

Оригинальный пост по уязвимости и обсуждение к нему:

https://www.agwa.name/blog/post/how_to_crash_systemd_in_one_tweet

Share this post


Link to post
Share on other sites

И еще раз. На этот раз - получение root:

 

В systemd выявлена ошибка, приводящая к выполнению сервисов с правами пользователя root, если в параметрах запуска указано имя пользователя, начинающееся с цифры. Например, если в сервисе указан "User=0day" и пользователь 0day присутствует в системе, то сервис будет запущен с идентификатором 0, т.е. с правами root. Леннарт Поттеринг отказался исправлять ошибку и закрыл уведомление с меткой "not-a-bug".

 

http://www.opennet.ru/opennews/art.shtml?num=46798

Share this post


Link to post
Share on other sites

Кому придет в голову заводить пользователя с цифрой вначале? :)

Кому-то же пришло в голову 0ad в контейнер засадить! :-)

Share this post


Link to post
Share on other sites

А я как-то предвзято к systemd отношусь. При новых инсталляциях уже чисто на автомате сношу его и ставлю sysvinit

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.