Уязвимость позволяет удаленному пользователю с помощью специального ICMP пакета(содержащего опции record-route или timestamp) вызвать отказ в обслуживании.
Для исправления необязательно качать 2.6.15.3
Открываем net/ipv4/icmp.c
правим текстовым редактором.
if (ip_options_echo(&icmp_param.replyopts, skb_in))
-goto ende;
+goto out_unlock;
Далее ядро можно собрать без make clean, т.е. make bzImage,
копируем bzImage в /boot вместо старого, затем перезагружаемся.
(проверено на 2.6.14.4)
а, вижу, вроде нет:
Secunia Advisory: SA18766
Release Date: 2006-02-08
Critical:
Moderately critical
Impact: DoS
Where: From remote
Solution Status: Vendor Patch
OS: Linux Kernel [b]2.6.x[/b]
госпади, какой же я молодец что до сих пор 2.4.х юзаю %-) на серверах %-)
Бугага, это при _посылке_ сообщения возможно. Т.е. если система сама создаст такое сообщение при декодировании приянятого, но принятое будет отброшено, если у него были некорректные опции.
Да мне пох, на чем работают разрботчики SLES и RHEL, зато ко мне пришло заплаканное офисное жывотное и заявила, что их линакс-сервер "похоже нае$нулся".
>Да мне пох, на чем работают разрботчики SLES и RHEL, зато ко мне пришло заплаканное офисное жывотное и заявила, что их линакс-сервер "похоже нае$нулся".
Саныч придумал отличный повод пересадить жывотное со стола на колени?
2 Саныч & анонимоус:
>> Интересно, а по какой статье можно уволить админа, поставившего 2.6.* на производственный сервер?
>По несоответствию :)
По той же самой, по которой будешь его увольнять за дырки в Соплярке/FreeFufloBSD/Винде.
В сличае с оффтопиком можешь сразу увольнять главного архитектора ПО.
Потом не забудь уволиться сам, если ты этого админа на работу и принимал.
2 j262
>p.s. sorry za translit ( tut krugom odni nerusskie :))
Для таких особо тяжелых случаев, когда со всех сторон обложили "не русския" есть http://www.translit.ru
А какой командой (т.е. с какими парамтерами diff) вообще принято делать ядерные патчи? А то я хотел патч для 2.6.12.6 сделать и не знаю, как надо кошерно...
ранее верно настроенный фаервол решает эту проблему (по крайней мере можно спокойно исправить исходник, не боясь потерять связь с серваком).
так что вопрос и в опыте админа тоже.
goto в НЕБОЛЬШИХ программных единицах (вроде функций) ничего страшного собой не представляет. Если код всей программной единицы умещается на одном экране, то goto не ухудшает читаемость и не запутывает. Скорее, запутают как раз попытки заменить goto иными языковыми средствами.
иногда наоборот - в некоторых случаях, он улучшает читаемость кода.
ядро линукса тому пример. но это не причина уязвимостей, т.е., применение goto тут не причем.
бля, зачем об этом говорить - давайте лучше о том, как Линус отреагировал на эту уязвимость.
Дык еще отцы-основатели говорили, что за использование goto надо отрубать пальцы на руках, оно теперь понятно откуда в ляпиксе столько дыр, как можно проводить аудит кода, когда это не код а какая то солянка.
здрасте - виноваты разработчики. а не админы, которые были уверены в работе ядра.
а если завтра найдут дыру для remote exploit'a в ветке 2.х - тоже админы выноваты ?
Че ты так распереживался? Никто никого увольнять не собирается, но следует иметь ввиду, что ставя ветку, находящуюся в активном девелопменте, надо не спускать с нее глаз, а не пиво сосать до потери человеского облика.
МОгу сказать, что мне в моих программах goto нужен очень редко. Обычно он появляется, если надо быстро поправить свою ошибку или добавить функциональность.