Найдено переполнение буфера в драйвере файловой системы ISO9660. Злоумышленник может подготовить специальным образом cdrom диск и получить права рута, подмонтировав его.
Программеры, объясните почему так часто находят уязвимости, связанные с переполнением буфера. В чём проблема написать безопасный код "без переполнения буфера"? Дело в кривых руках, в языке или в чём-то другом?
Проще принести любой загрузочный или liveCD диск и загрузиться с него, чем пытаться создать CD с файловой системой использующей ошибку драйвера, потом монтировать его думать: "получится на этот раз или нет".
Вот что интересно, всё что находится на fedora.redhat.com в каталоге development это всё будет входить (точнее версии не ниже) в релиз FC2 или я ошибаюсь???? И почему они до сих пор на MySQL-3.23, а не на 4-ом??
>Дело в кривых руках, в языке или в чём-то другом?
А просто есть исходники, поэтому и переполнения легче искать, чем в закрытом ПО. У нас тут виндузятники програмят программы нужные только для их предприятия, я их спрашиваю, может код откроете, а они... нет уж.. сразу кучу уязвимостей найдут, делайте выводы.
mysqladmin status
Uptime: 367620 Threads: 225 Questions: 89140239 Slow queries: 2173 Opens: 177882 Flush tables: 1 Open tables: 512 Queries per second avg: 242.479
Работает уже почти год, никаких серьезных глюков не замечено.
умник мля. дело в квалификации. такие умники, когда забивают гвоздь и бьют по пальцу орут ... сами знаете что они орут. а если уж заменить то канэчна есть чем я бы выбрал Ada да и DoD ее выбрал и еще много кто... а некоторые умники выбрали бы ... жабу (к стати и выбирают и какую то ось даже сляпать пытаются), другие ml, и т.п.
>Дело в кривых руках, в языке или в чём-то другом?
все!!! каждый школьник !!! знает от чего происходит переполнение. все знают как его избежать. только все похрену. сляпать кусок кода и нах - лиш бы работало. причем тут С? может на жабе говно труднее сделать? судя по качеству фришных либ ничуть не труднее! слишком много дилетантов в индустрии - вот в чем беда. больше всех этим страдает опен сос.
Что-то вообще в iso9660 проблем куча обнаружилась. Вчера записал dvd с большими файлами - облом: файлы больше 2G записать можно, а прочтиать - нет. Сегодня донес этот диск до винды - там читаются. Посмотрел в драйвер isofs - они явно считают, что на dvd не дожно быть файлов размером >1G, но в стандарте я ничего про это не нашел. Кто-то явно нарушает стандарт - или linux или форточки, и кажется, это всё-таки линукс :-(.
1. чтоб получить рута нужно подмонтировать CD. 2. Чтобы подмонтировать CD нужны (обычно) права близкие к root 3. Чтобы подмонтировать CD его нужно всавить. 4. Чтоб всавить CD нужно подойти к машине.
Вывод: зачем права рута, если можно взять машину в сумочку и помохав всем ручкой отправиться до дому.
>В большинстве линуксов вроде, по умолчанию, владелец дисковых устройств: root, группа: disk (или что то подобное), а /dev/cdrom это symlink обычный.
и что? для монтирования не надо иметь права доступа к /dev/cdrom , на mount стоит suid бит, а в fstab стоит флаг user, пользователь может быть в любой группе, в этом случае он сможет по-любому подмонтировать диск.
не скажи. с выходом делфи полку недопрограммеров прибыло на порядки. да и вообще воньплатформа источник некачественного человеческого мусора. в то время как прогамленье в позикс требует намного большого понимания сути своих действий.
Мда... По поводу "почему в C программах так много ошибок с переполнением буффера". Дело не в языке, а в библиотеках. Код, лучше проверяющий на переполнения вставить можно, но за это придётся платить пониженной производительность, что особенно неприятно, т.к. в большинстве случаев этот код просто не нужен. В самом деле, зачем эти проверки внутри вашего кода, где крутятся только корректные данные? По этому была выбрана именно такая стратегия, а доп. проверки оставили на совести программистов. Как показала практика - совесть оказалась не такой чистой... ;-) Да, есть варианты и библиотек и компиляторов, защищённых от подавляющего большинства ошибок переполнения буфферов, но теперь, вы, надеюсь понимаете, почему они не получили широкого распространения.
Насчёт самого бага - сбылась старая страшилка, про вирус DIR, заражающий комп, по факту считывания калатога дискеты... ;-)))
Задолбали подобные "новости". Почему бы не написать сразу: "Злоумышленник может использовать специально подготовленный АК-47, чтобы получить права на ваш компьютер"?
ну зачем же так утрировать. я же не о частностях говорил а о тенденции. у меня есть опыт программирования и под дос, и под винапи и под позикс. я видел много "программеров" которые считали себя таковыми лишь благодаря тому что кинули кнопку на форму. так что у меня есть основания делать такой вывод
>Почитай внимательно - если видеодвд, то больше 1 гига нельзя, а если дата, то можно.
Почитать где? Поскольку в сырцах явно не это написано, и если ты прав - существенно переписывать надо линуксный драйвер. Warning по поводу >1G только раздражает, а вот неумение читать файлы >2G - уже существенный косяк.
OPERATING SYSTEM: Linux Kernel 2.6.x Linux Kernel 2.5.x Linux Kernel 2.4.x
DESCRIPTION: iDEFENSE has discovered a vulnerability in the Linux kernel, which can be exploited by malicious, local users to gain escalated privileges on a vulnerable system.
The vulnerability is caused due to a boundary error within the ISO9660 ("isofs") file system component when handling symbolic links. This can be exploited to cause a buffer overflow via an overly long symbolic link on e.g. a mounted CDROM.
Successful exploitation may allow arbitrary code execution with root or kernel level privileges.
The vulnerability reportedly affects the 2.4.x, 2.5.x, and 2.6.x kernel branches.
SOLUTION: Update to Linux kernel versions 2.4.26 and 2.6.6-rc1. http://kernel.org/
>> Задолбали подобные "новости". Почему бы не написать сразу: "Злоумышленник может использовать специально подготовленный АК-47, чтобы получить права на ваш компьютер"?
>> По поводу "почему в C программах так много ошибок с переполнением буффера".
> Потому, что ОСеклепатели никак не научатся нормально пользоваться MMU.
Ну а теперь объясни, какое отношение имеет MMU к переполнению буффера,
и потом ещё объясни, для чего именно ты собираешься использовать MMU на x86.
Правильный ответ - кривые мозги. Язык конечно способствует ошибкам с
переполнением буффера, но есть примеры программистов, никогда не
делающих таких ошибок. Отсюда и вывод.