Уязвимость glibc в GHOST (CVE-2015-0235): требуется ли перезагрузить сервер после обновления glibc?

Ответы:

23

Перезапуск технически не требуется , потому что только программы, которые используют glibc, должны быть перезапущены, а ядро ​​не использует glibc.

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

Например, /sbin/initиспользует glibc. Однако перезапуск это тривиально (запустить init uот имени root).

gowenfawr
источник
3
OTOH Я серьезно сомневаюсь, что initэто уязвимо из-за CVE :)
Эрбюрет говорит восстановить Monica
11
@ Erbureth, я согласен, но я думаю, что «я думаю, что эта программа уязвима, я думаю, что эта программа не является» странной игрой. Единственный выигрышный ход - не играть ».
gowenfawr
sysvinit безопасен (нет DNS-вызовов, и часто, но не всегда также статически связан). systemdпохоже, у него есть свой собственный распознаватель. По моему опыту, замена библиотек, используемых длительными процессами, может привести к нестабильности. Перезагрузись и будь счастлив.
mr. Spuratic
2
sysvinit может быть перезапущен. Выполните команду init u, и она будет exec / sbin / init.
Джошуа
К вашему сведению: перезапуск init без перезапуска системы
Жиль "ТАК - перестать быть злым"
9

Если вас устраивает ручной перезапуск отдельных служб, использующих уязвимую библиотеку, вы можете запустить эту команду и перезапустить перечисленные процессы:

# lsof | awk '/libc-/ {print $1}' | sort -u

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

deed02392
источник
9
lsof | awk '/DEL.*libc/{print $1}' | sort -uсовпадать только с теми, которые ссылаются на удаленный (после обновления) libc.
Sch
2
Кто-нибудь на самом деле проверял вывод lsof | grep libc? Он соответствует куче библиотек, включая libcurl, libcups, libcairo и т. Д. libc-Похоже, что Grepping for дает правильные результаты.
Это довольно окольный и неточный метод. Как обнаружить запущенные процессы, используя пакет библиотеки? В любом случае, для glibc ответом будет практически каждый процесс. Было бы полезно узнать, какие процессы остались со старой копией, и эта команда не сообщит вам.
Жиль "ТАК - перестать быть злым"
7

Да, поэтому процессы, которые зависят от старой версии glibc, запускаются снова с новой версией библиотеки. По этой причине также необходимо перекомпилировать статически связанные программы.

Ohnana
источник
Статическое связывание, вероятно, встречается редко, учитывая взаимодействие функций DNS с NSS, glibc и историческими предубеждениями бывшего сопровождающего glibc .
mr. Spuratic