> да дело-то у imagic вполне ограниченное - портить изображение, ну и иногда
> зачем-то преобразовывать формат - Ну так понапридумывали форматов... и вообще, GS много кем используется. Я вижу список dependants на ~4 страницы, они все в группе риска.
> альтернативный вариант, когда преобразовывалка работает
> только с каким-нибудь xbm, сопровождаясь букетом xbm2всякаяхрень и обратно - тебе
> вряд ли понравится, этим жутко неудобно пользоваться,
А смысл? Утверждается что anything -> xbm чем-то лучше чем anything -> anything? Парсинг формата то остается. А если его удалось декодировать без эксцессов, потом уже довольно безопасно. Массив пикселей допустим относительно безвредная штука сам по себе, им относительно безопасно кормить абы какой энкодер на самом деле. Возможны варианты, конечно, но это все же экзотика. Так что attack surface улучшится незначительно.
> видео, и ffmpeg был счастьем на фоне тех инструментов, требовавших только
> yuv, который кроме них еще и не понимал ровно никто)
Не помню что там цать лет назад было. Вероятно главное было вообще жевать форматы, хоть как-нибудь. По качеству кода он с точки зрения секурити здорово подтянулся когда гугл и прочие fuzz'ить начали. Разработчики узнали столько нового о том что их код оказыается умеет :)
>> Так давно есть контейнеры
> это где S stands for security?
Это где лишний барьер на пути взломщиков. Неудобный для них, специфичный, часто меняемый, и потому требующий усилий по обходу и нестабильный в эксплойтах. И при всем этом - легко настраивается админом. Получается хорошее плечо в пользу админа а не хакера. Это на порядки проще какого-нибудь apparmor или тем более selinux, с которыми админ сношается гораздо дольше, чем хакер.
> С виртуалками в свете модных новых интеловских проблем - не сильно легче.
Известные интеловские проблемы те кто в здравом уме и работает с внешними данными запатчили. Там правда и софт по хорошему патчить надо от спектров и проч, и в виртуалках, и на хосте. Но эксплуатацию спектров сложно не заметить.
Если лепить окружение "для себя" а не "на продажу" - создающий окружение себе не враг, поэтому влепит патченые ядро и софт, если оно внешние данные жует (а их так или иначе жуют все) и безопасность вдруг интересовала.
> Физическая изоляция - дорого и тяжело фэйловерить если что.
Ты ценный кадр, тебя конкурентам надо засылать. Всегда придумаешь как сделать долго, дорого и геморно. Отличный способ от конкурентов без палива отделаться.
> пробовал писать модули к тому и к другому (не audit2allow, отключающий уже
> до тебя сделанные проверки, а полноценный)?
Да нафиг мне это счастье? Нарезал себе контейнеров и VM - и удачи хаксорам пробить до конца и не слетать с катушек при этом. Идея в том что окружение скомпоновано так что там есть только данные которые необходимы. И нифига более. Пусть мне будет просто и удобно, а хакерам по возможности наоборот. Для интерактива - firejail, для неинтерактива системд. И никто не мешает это в виртуалке к том же сделать.
> /srv/web/uploads/ можно читать, но не все, в ../preview можно только писать,
> и т д и т п.
Да мне пофиг чего там кто в курсе. Я могу сам перекомпоновать/скомпоновать окружение. Даже без apparmor и selinux, ибо контейнерами (включая фичи системды), vm и firejail (для десктопов и прочего интерактива) это делается явно проще, долботни хакеру добавляет, а шансы на успех здорово снижаются. При маргинальных затратах денег, времени и сил и умеренном оверхеде, если с умом делать.
> ну вот в данном случае - проблема сопровождалась вполне приемлемым решением -
> описывать формат в части имени файла, а не угадывать, хотя бы пока не просят.
Не спасет от полного хлама внутри файла, дурачащего парсер. Само по себе смотрение что за тип файла - даже относительно безопасно по сравнению с разбором навороченного формата. Конечно факап везде может случиться, но вот конкретно это - сложно назвать основным источником проблем. И если почитать новость - проблемы будут при попытке парсить документ. А парсить документ может и thumbnailer, чтобы на десктопе или в файлманагере превьюху показать. Так что даже открывать документ не потребуется. Если что - такие вещи и винда делает, и, собственно, они не раз получали за это дело проблем на свою бошку.
> Но почему-то авторы пошли другим путем, их даже
> аналогичный эксплойт в file (в file, Карл!) ничему не научил.
Да я так смотрю - народ вообще любит оттаптывать баянные грабли. До сих пор полно чудиков покупается на банальное ../../../../ в пути. Или вызывают внешнюю прогу для обработки, с аргументом типа имени файла компонуемого юзером. А имя файла видите ли таким креативным может быть, в POSIX там все что угодно кроме 0x00 и /. Много ли программ готовы к тому что в ИМЕНИ файла будет например 0x0d, 0x0a? Ну нет, каких-нибудь сишников таким дешевым трюком может и не получится купить, но вот например 90% шелскриптеров и т.п. на это купятся.