В распространенном медиаплеере Mplayer для операционных систем Unix и Linux обнаружена опасная уязвимость. Используя дыру, злоумышленник может получить несанкционированный доступ к удаленному компьютеру и выполнить на нем произвольные деструктивные операции.
IMHO там этих уязвимостей не малая куча. По ходу работы натыкался на порядочное число крашей mplayer'a на редко используемых форматах. А каждый краш это потенциальный кондидат на уязвимость.
Самое для меня не понятное так это то, что иногда попадаются mp3, которые играет mpg123 а mplayer их играть не желает.
Просто говорит какую то фигню типа это не mp3, сейчас проверить не могу и завершает свою деятельность. Без креша.
Версия pre7, предидущие возможно тоже, GCC 3.3.2, CPU Celeron 2 - MMX/MMX2/SSE. Ктото еще с этим столкнулся?
з.ы. Пытался ставить pre7 на спарк32/OpenBSD. Компилится, но линкуется криво - в зависимости от версии компилера/линкера
при попытке запуска пишет либо неправильная архитектура либо пытается его выполнить как скрипт!
Многие крэши в Cшных программах являются потенциальными дырами, так как часто вызываются тем, что программа из-за кривых данных на входе лезет туда куда ей не положено. И при некоторых обстоятельствах сообразительный товарищ может подать такие данные на вход что будет выполнение совсем не того кода что нужно.
>При правильном подходе устройствам должны быть не нужны дрова. Ты драйвер хардового модема видел?
Я видел. GVC-33чего-то там. Еще isa'шный. Линукс его определяет сразу и работает без проблем. Но было надо настроить его под виндами - это комп у родителей был. Винда почему-то инициализируя, выставляет порты и прерывания, которых нет в списке у драйвера. Если выставить вручную - просит перезагрузиться, после чего они уже другие, но опять не такие, которые могли бы видеться драйвером. Причём даже под досом в терминалке всё работает, а под виндой - шиш. Нужен правильный драйвер. Уже не помню как победил - толи через правку регистри, толи через хаченье .inf файла.
Так что жестокая вещь - драйвер хардверного модема, "бессмысленная и беспощадная".
>Хорошая идея так же как и хранить дрова в устройствах...
Собсвенно в старых компах и контроллерах, времён ibm pc xt, (и в более простых, например msx) этот принцип и был реализован. BIOS компа, например ничего не знал о жестком диске - и тем не менее с него прекрасно грузился. Тоже самое с сетью и прочими сказёвыми адаптерами.
В SCSI-адаптерах, кстати, тоже прошит некоторый код, который BIOS подцепляет при загрузке, после чего досовский FDISK замечательно видит винты. То же самое в RAID-контроллерах. Ну и про микросхемку ПЗУшки в сетевой с кодом для загрузки по сети тоже все забыли?
Идея с драйвером прямо в контроллере - очень здравая... Вот кто бы только интерфейсы согласовал :-)
дык я про них тоже написал. Кстати, в те времена был у меня и продвинутый флоповый контроллер, тоже с биосом.
>Идея с драйвером прямо в контроллере - очень здравая... Вот кто бы только интерфейсы согласовал :-)
Интерфейсы с тех времён существенно усложнились. Я думаю, причина в этом. Не говоря о том, что интерфейсы разных виндов тоже разные - так что теперь, биос в контоллере - это скорее уже утопия :(.
> Причём даже под досом в терминалке всё работает, а под виндой - шиш. Нужен правильный драйвер.
Дык. Винде даже для монитора нужен "драйвер", который по большому счёту является тупым аналогом набора Modelines в XFree86 (см. ниже про .inf). Это сейчас в большинстве случаев мониторы отлично работают через DDC.
> Уже не помню как победил - толи через правку регистри, толи через хаченье .inf файла.
Скорее второе. Давным-давно, во времена вынь95, когда приятель где-то спёр какой-то левый Шпротстер, переделывал ему .inf из комплекта Курьера. Завёлся. И, как правильно было подмечено, он же сходу заводился как в досе, так и в линуксе всего лишь прописыванием инит-строчки (либо ATZ, если нужное было заранее записано в него).