LINUX.ORG.RU

Критическая уязвимость в systemd: удалённое выполнение кода

 , ,


3

2

Разработчик Canonical Крис Колсон сообщил об обнаружении критической уязвимости в системном менеджере systemd. Атакующий может удалённо спровоцировать переполнение буфера, что ведёт к выполнению произвольного кода.

Уязвимость, получившая идентификатор CVE-2017-9445, кроется в функции dns_packet_new из состава systemd-resolved. Особым образом сформированный DNS-ответ может привести к падению systemd-resolved, когда тот пытается получить ответ от DNS-сервера, контролируемого злоумышленником. В итоге, чрезвычайно большой ответ переполняет память, позволяя выполнить произвольный вредоносный код.

Уязвимость существует на протяжении 2 лет, начиная с systemd 223 и заканчивая последней 233.

Отслеживать появление патчей в Ubuntu и Debian можно по ссылкам:

https://www.ubuntu.com/usn/usn-3341-1/

https://security-tracker.debian.org/tracker/CVE-2017-9445

>>> Подробности

anonymous

Проверено: leave ()
Последнее исправление: leave (всего исправлений: 1)

Ответ на: комментарий от ving2

А какой контекст у systemd? Может быть твои фантазии о контексте systemd не имеют ничего общего с реальностью.

imul ★★★★★
()
Ответ на: комментарий от atsym

Ну запчасти JWM можно же потом прикрутить:

pacman -S jwm jwm-artwork jwm-wallpapers jwmconf jwmtools manjaro-jwm-settings

Хотя, точно так же в Manjaro JWM можно и OpenRC накатить ;-) Хотя там чуточку возни больше: https://wiki.manjaro.org/index.php?title=OpenRC,_an_alternative_to_systemd

ЗЫ тоже перелез с Linux Mint. Чуточку неудобно перед пользователями моих PPA, ну да коммент оставил, что забросил, авось кто подхватит.

h4tr3d ★★★★★
()
Последнее исправление: h4tr3d (всего исправлений: 1)
Ответ на: комментарий от ving2

зачем они пихают все что не нужно в это systemd?

собственно, если бы они этого не делали, если бы не пытались сделать systemd всем, то он был бы крайне неплох. И да, не было бы стольких бурлений говн.

ЗЫ собственно, у меня создаётся впечатление, что ради последнего это всё и делается.

h4tr3d ★★★★★
()
Последнее исправление: h4tr3d (всего исправлений: 1)
Ответ на: комментарий от torvn77

SOHO router + systemd-resolved? Хотя бы один пример увидеть можно? Там скорее будет bind9 непропатченный 5-ти летней давности...

mick_vav
()
Ответ на: комментарий от batya

Ты должен страдать. Мы же пользуемся системди и радуемся жизни.

Сабжевая новость говорит совсем об обратном.

h578b1bde ★☆
()
Ответ на: комментарий от mick_vav

Нет, на роутере просто меняется в настройках сервера dhcp выдаваемый адрес dns-сервера. Сервер dns может быть снаружи, или внутри сети, не на самом роутере. А systemd-resolved стоит на клиентах dhcp сервера(роутера). На роутерах, кстати, dnsmasq ставят.

anonymous
()
Ответ на: комментарий от anonymous

хотя есть ли смысл с генты пеерезжать на сабж?

Здесь скушно - всё работает с полпинка. С загрузчиком не особо поразвлекаешься, ибо он туп, как валенок - надел и пошёл. Синаптик это тот, который показывает доступные для установки пакеты и где отмечаешь галочками нужные? За столько лет не понадобилось, значит не нужно. Можно поиграться компиляторами и поизучать сборку ПО с одним - другим.

iZEN ★★★★★
()

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

anonymous
()
Ответ на: комментарий от iZEN

А я и хочу, чтобы все работало, а то в генте периодически в стейбеле версии откатывают Развлекаться и не надо, хочу, чтобы на старье быстро, надежно и качественно работало, желательно под i686, а не под пентиум про ну и разумеется, без пшепшеаудио А пакеты все же искать и обновлять через синаптик удобно А какова фс фряхи в сравнении с ехт4?

anonymous
()
Ответ на: комментарий от anonymous

Потому что ABI такое приняли и соглашение о вызовах с сохранением адресов возврата в стеке. Ну и да, практически во всех архитектура разрешено присваивать регистр стека.

anonymous
()
Ответ на: комментарий от Bagrov

Если да, что можно выжать из пары дюжин байт?

джамп, например. DoS например (помни что это init). вызов системной функции например. много чего можно.

вообще в зависимости от количества байт можно например написать что-нибудь доброе на экране, например «мир». ну и подвесить потом.

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

upcFrost ★★★★★
()
Последнее исправление: upcFrost (всего исправлений: 2)
Ответ на: комментарий от Clayman

Как быть с Ubuntu, например?

Патч Бармина

imul ★★★★★
()
Ответ на: комментарий от grossws

Другое дело, что на sysv поддержка инитскриптов достаточно геморройная.

мьсе видел как это реализуется в систумд если проге мало env-переменных и старт-рестарт чуть более хитрые? там идет вызов внезапно все того же старого доброго инит-скрипта.

upcFrost ★★★★★
()
Ответ на: комментарий от imul

Ну зачем ты вот так сразу с козырей-то?

дык меня никто не предупреждал что мы в мизер. я думал 6 пик, сталинград, иначе почему тут каждый первый вистует

upcFrost ★★★★★
()
Ответ на: комментарий от upcFrost

Ну зачем ты сейчас взял и раскрыл это? Все это и так знают, просто поттерофилы тщательно скрывают, что сабж сам по себе не стоит ничего (как пшшшшшшаудио не работает без альсы), потому что иначе ты отберешь у них последнюю мечту о светлом будущем. Это те самые люди, которые бегут покупать новый гелекси, потому что прогресс ради самого прогресса, даже если ничего не изменилось

anonymous
()
Ответ на: комментарий от upcFrost

Ты вот сам поел, а остальную еду распугал. Как теперь засыпать на пустой желудок?

imul ★★★★★
()

Друг другу передернуть вы всегда успеете, а примеры увидеть очень хотелось бы!

anonymous
()
Ответ на: комментарий от anonymous

Будьте готовы делать многое руками. Работает стабильно и довольно быстро. В отличии от PA, со звуком все в порядке. В качестве фс там выбор только из UFS и ZFS. По поводу пакетов: система отдельно, софт отдельно. Обновлять «менеджером» прийдеться только то что будете устанавливать отдельно от системы (pkg или порты). pkg работает как и apt. Сама система обновляется через freebsd-update (если ветка релизная). Нужно не забывать про hier.

anonymous
()
Ответ на: комментарий от Deleted

Кто-нибудь, объясните, чем systemd не угодил?

Тем, что он поощрят прибивать к нему все подряд, а сам при этом прибит к Линуксу.
Кстати, Вёланд тем же людям не угодил по той же самой причине.

что там к чему вялый прибил/прибит?

К нему — все, что для него пишут, а в перспективе это добрая половина среды рабочего стола. Он сам — к Линуксу.

Zmicier ★★★★★
()
Ответ на: комментарий от anonymous

i386 ещё поддерживается, но это зависит от системного компилятора - что там GCC 4.2.1 или LLVM 4.0.0 - не в курсе.

PulseAudio чаще опционален, чем прибит гвоздями в зависимостях. У меня на десктопе его нет. Даже от ALSA можно отказаться - во многих случаях её заменяет SNDIO. Но в Chromium/Iridium лучше выбрать из двух возможных альтернатив PulseAudio или ALSA, иначе останешься без звука. В бинарных пакетах опции либо дефолтные (если они получены с центрального репозитория), либо твои (если ты сам их собираешь и распространяешь).

Классическая файловая система UFS2 лучше Ext4 по функциональности из-за возможности снапшотинга и штатной работы без журналирования с сохранением техники CoW на основе «плавных» обновлений (Soft-Updates) - упорядочивание данных в памяти прежде чем те будут записаны на диск одной транзакцией. Скоростные характеристики у UFS2 нормальные, но много лет никто не сравнивал с Ext4 - не могу сказать, что быстрее.

iZEN ★★★★★
()
Ответ на: комментарий от iZEN

А такое понятие, как выгружаемые модули ядра существует? А какие опции у пакетов на выбор могут быть? USE-флагов, как в генту, я так понимаю, там нет же?

Как вообще работа с ноутбучным железом - тачпады, вебкамеры, звуковухи, микрофоны, картридер, который китайский ноунейм?

anonymous
()
Ответ на: комментарий от anonymous

А такое понятие, как выгружаемые модули ядра существует?

Естественно.

А какие опции у пакетов на выбор могут быть?

Какие разработчик и мантейнер посчитает нужным выставлять/поддерживать в зависимости от сторонних библиотек и программ.

USE-флагов, как в генту, я так понимаю, там нет же?

Это оно самое, только другая форма представления. В /etc/make.conf можно задать условную опциональность для всех и для определённого порта, если нужно; задать флаги компиляции для системы и для порта/портов, если нужно, но последнее - это если тянет на эксперименты.

iZEN ★★★★★
()
Ответ на: комментарий от iZEN

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

anonymous
()
Ответ на: комментарий от upcFrost

там идет вызов внезапно все того же старого доброго инит-скрипта

Старые песни о главном. Мсье знает о том, как в «старых добрых» инит-скриптах обычно делают отслеживание жизни процессов? В лучшем случае через поллинг /proc и kill $(cat /run/foo.pid). В худшем — через pidof и/или killall.

Задача systemd не в том, чтобы исключить любые стартовые скрипты (наоборот — systemd не является shell-like интерпретатором), а в том, чтобы убрать оттуда state machine.

intelfx ★★★★★
()
Ответ на: комментарий от iZEN

Благодарю, поставил на скачивание, погоняю в виртуалке, если понравится - поставлю на комп

anonymous
()
Ответ на: комментарий от iZEN

Еще один вопрос, список пакетов в дебиане занимает 60-70 МБ, такой же список (но в виде дерева портеж) в генте занимает полгига В фрибсд как с этим?

anonymous
()
Ответ на: комментарий от anonymous

Они существуют? Мне всегда казалось что по отношению к Леннарту есть 2 типа людей: Хейтеры, и остальные которые пофиг.

vq156 ★★
()

РЕШЕТОd

Вот сколько раз говорил, нефиг заменять все нутро GNU/Linux на кривые поделки потера. Если б системд остался одной только системой инициализации, его бы так не критиковали. Но нет же, надо «экосистему» создать.

/me выдохнул

segfault ★★★★★
()
Последнее исправление: segfault (всего исправлений: 1)

Это какой-то позор. Уязвимость в системе инициализации.

mahalaka ★★
()
Ответ на: комментарий от matumba

а что не так? что такого в 21 веке произошло, что производительность кода уже не в моде?

dzidzitop ★★
()
Ответ на: комментарий от anonymous

На башах писать нормальный код в принципе невозможно. Как и на C. Так что баланс мира соблюдён.

dzidzitop ★★
()
Ответ на: комментарий от ving2

Потому что systemd - это ненужно by design. Если оттуда всё выкинуть, то нужнее оно не станет.

dzidzitop ★★
()
Ответ на: комментарий от h4tr3d

сложно прочертить границу между адекватностью и всяким бредом типа automountfs.

dzidzitop ★★
()
Ответ на: комментарий от vq156

Есть ещё интелэфыкс как минимум. Ну и пара других юношей с глазами горящими, которые грезят об улучшении мира через переписывание инитов.

leave ★★★★★
()
Ответ на: комментарий от intelfx

Никакой гамнаd не может знать жизненный цикл сервисов. Особенно если это что-то многопроцессное и ещё распределённое.

Но Лёнька Поц решил загнать всех в нестиранные носки исключительно своего размера.

dzidzitop ★★
()
Последнее исправление: dzidzitop (всего исправлений: 1)
Ответ на: комментарий от upcFrost

джамп, например. DoS например (помни что это init)

Учит матчасть, что ли. Уязвимость в systemd-resolved, у которого с инитом, разве что общие зависимости типа libsystemd0

grossws
()
Ответ на: комментарий от dzidzitop

Если ты думаешь, что я сейчас буду с тобой спорить, то ты ошибаешься. Спорить с самоуверенными некомпетентными дураками — себе дороже.

intelfx ★★★★★
()
Последнее исправление: intelfx (всего исправлений: 1)
Ответ на: комментарий от upcFrost

И что? Я не вижу в этом ничего ужасного. Но 95% софта это не нужно. Плюс часть покрывается просто интерполяцией в ExecStart.

Те же зависимости от более чем одного другого сервиса, описываются и работают гораздо лучше, чем в upstart и sysvinit/rc.d initscripts.

grossws
()
Ответ на: комментарий от qwe

$ ls -l /usr/bin/journalctl
-rwxr-xr-x 1 root root 523936 May 26 00:53 /usr/bin/journalctl

Жырно, очень жырно :-)

$ls -la /usr/bin/journalctl -rwxr-xr-x 1 root root 67944 янв 29 00:32 /usr/bin/journalctl

anonymous
()

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

Softwayer ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.