LINUX.ORG.RU

Уязвимость в FFMpeg, позволяющая читать любые файлы в системе

 ,


6

6

Сотрудник Mail.ru Максим Андреев опубликовал информацию об уязвимости в популярном наборе свободных библиотек FFMpeg.

Если сформировать специальный видеофайл (расширение не имеет значения) и загрузить его на видеохостинг, то злоумышленник сможет прочесть любой файл на сервере. Если удастся каким-то образом заставить обычного пользователя скачать вредоносный файл (дать ему прямую ссылку, выложить на торрент-трекер), как минимум, можно узнать имя пользователя и какую-нибудь ещё непубличную информацию. В случае с Ubuntu FFmpeg передаст злоумышленнику первую строку указанного злоумышленником файла (например, /etc/passwd того пользователя, который просто скачал файл, даже не запуская его (FFMpeg в Ubuntu используется для создания превью, отображаемого в файловом менеджере).

Кроме того, уязвимости подвержены все видеопроигрыватели, использующие FFMpeg.

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

>>> Подробности

anonymous

Проверено: JB ()
Последнее исправление: JB (всего исправлений: 1)
Ответ на: комментарий от Quasar

Apple не придумывала «concat:» внутри play-листов :)

h4tr3d ★★★★★
()
Ответ на: комментарий от Pinkbyte

сработал только --disable-demuxer=hls

WARNING: Option --disable-demuxer=applehttp did not match anything

Deleted
()
Ответ на: комментарий от proud_anon

Нет, наоборот. Злоумышленник любым способом передаёт тебе вредоносный видеофайл. Как только ты его скачал и он просто отобразился в файловом менеджере - опаньки.

anonymous
()

Конвертирование текстовых файлов в видео? Эпично.

CYB3R ★★★★★
()

Неужели до сих пор фикс не выпустили?

te111011010
()

такие новости только под ананимусом выкладывать стоит.

Deleted
()

хех мда

Вся суть опенсорсного дерьма, в проприетарном правильном ПО такого нет.

anonymous
()

Господа хорошие, дайте, пожалуйста, ссылку на авторитетный источник, где написано про эту уязвимость.

Tactile ★★
()
Ответ на: комментарий от h4tr3d

Вот не понимаю я, где логика. Человек, который демонстрирует уязвимость и эксплоит на конферешке, а также публикует всё это на хабре, официальные багрепорты делает закрытыми, «потому что security issue».

Andrey_Utkin ★★
()
Ответ на: комментарий от ThisNameWasFree

Ооо...... ну это уж вообще, спасибо что напомнил

superuser ★★★★☆
()
Ответ на: комментарий от Andrey_Utkin

официальные багрепорты делает закрытыми, «потому что security issue».

На сообщения в security лист реагируют быстрее. То, что он закрытый, это так уж получилось.

Хотя мог бы и отдельно патчи опубликовать, для обсуждения.

i-rinat ★★★★★
()
Ответ на: комментарий от Andrey_Utkin

Вот не понимаю я, где логика.

Логика любого бактрекера. Баги, помеченные как security issue, публично показываются только после закрытия. Куда он тебе ссылку даст ? Разве что, на том же хабре опубликует.

официальные багрепорты делает закрытыми

Не он делает, а разработчик, которому это отправлено. Он же не знает про хабр. :-)

AS ★★★★★
()
Последнее исправление: AS (всего исправлений: 1)
Ответ на: комментарий от Andrey_Utkin

Я тоже не совсем понимаю. Как так? Здесь он об этом рассказывает, 22.10.2015, видео Uploaded on Nov 2, 2015.

Статья пишется спустя 2+ месяца (а также, как я понял, только после нее - багрепорт и патч). WTF?

anonymous
()

Товарищи безопасники, поясните, как нужно собрать ffmpeg из исходников, чтобы не быть уязвимым через него?

Tactile ★★
()
Ответ на: комментарий от a1batross

Лучше по ссылке перейти. Анон как обычно не умеет в новости.

А сам то ты умеешь чего-нибудь, кроме потрепаться?

anonymous
()
Ответ на: комментарий от Medar

Да. бегать по кругу целые сутки и орать «ААаааа! меня могут взломать!!!»

mittorn ★★★★★
()

Уязвимость в FFMpeg

Очень спорно.

robot12 ★★★★★
()
Ответ на: комментарий от Tactile

как нужно собрать ffmpeg из исходников, чтобы не быть уязвимым через него?

--disable-protocol=concat --disable-protocol=subfile --disable-demuxer=hls

И не забудь о том, что MPlayer статически линкуется с ffmpeg. Так что если он используется, его тоже надо пересобирать.

i-rinat ★★★★★
()
Ответ на: комментарий от i-rinat

А версия, которая в deb-multimedia также подвержена этой уязвимости?

Tactile ★★
()

Пиаррр!

Пиар акция, ребята давайте ещё погромче и потолще!

Блин, баг-фиксы у нас в рабочем порядке идут, а тут? ...короче все в бегите в бомбоубежище.

anonymous
()

чисто по факту-только владелец серверов ютуба мог такое сделать,ибо кроме ютуба нигде в интернете видео не смотрю,как и большинство(да понятно что даже на лоре можно встроить скрытое видео которое будет грузиться и сливать мои файлы...но будем реалистами)

интересная уязвимость,но не сенсационная-очевидно что все «тумбайлеры» или кастомные «архиваторы» или «просмоторщики картинок»-имеют миллион уязвимостей,и уж такой монстр как ffmpeg темболее,и да-смеюсь в лицо тем кто с «рабочего» компьютера пользуется браузером

anonymous
()
Ответ на: комментарий от Medar

Так я не понял. Обычному пользователю на десктопе паниковать стоит?

создай отдельного юзера назови БРОУЗЕР,запрети ему все доступы в твой домашний каталог,везде кроме /home бля юзера браузер,и запускай браузер от имени юзера браузер

ну и про «аплоад» скорость незабывай-что она у большинства ниже 100кбайт/сек,тоесть аплоадить чтото приличное фактически невозможно

но учитывая что ffmpeg встроен в тойже PS3/4 или айфоне,или файрфоксе для винды-то да эта уязвимость дает больше возможностей для развертки ботнета,или взлома,но возможностей и так слишком много

anonymous
()
Ответ на: комментарий от Tactile

И с какими параметрами собирать libav?

Те же самые должны подойти. Вряд ли в libav переименовали «filter» и «protocol» во что-то другое. Это было бы глупо.

i-rinat ★★★★★
()
Ответ на: комментарий от Tactile

Что насчёт gstreamer и libav?

В случае с GStreamer утекало название файла с полным путём. Так как он обычно где-то в /home/username/some/other/path/file.mp4, путь раскрывает имя пользователя.

libav мало чем в этих вопросах отличается от ffmpeg.

i-rinat ★★★★★
()
Ответ на: комментарий от anonymous

но учитывая что ffmpeg встроен в тойже PS3/4 или айфоне

Firefox на тестовый файл ругнулся и написал, что это не MP4 файл, а что это такое, он не знает. В нём свой код для разбора контейнеров, libavformat он для этого не пользуется. Скорее всего, так же и с остальными.

i-rinat ★★★★★
()
Ответ на: комментарий от Strannik-j

например, /etc/passwd

Можно полностью отобрать у юзеров права на подобные файлы

Во-первых, смысла нет. Во-вторых, нельзя, эта инфа не зря открыта.

anonymous
()
Ответ на: комментарий от Tactile

Вот, блин, я думал, что всё просто. Я просто админ localhost'a, не осилю пока что эту процедуру. Но обязательно попробую. Спасибо за наводку.

Desmond_Hume ★★★★★
()
Ответ на: комментарий от Andrey_Utkin

Эээ? Это политика рассылок security. Другое дело, что информация открыта ВСЕМ до того момента, как она будет официально исправлена и вообще отрапортована... Без чётких инструкций по WA. Но от Mail.ru я другого не ожидал.

h4tr3d ★★★★★
()
Ответ на: комментарий от Desmond_Hume

Поднять nginx и подготовить два файла: header.m3u8 и test.mkv, содержимое можно взять (с адаптацией под localhost) на хабре. FFmpeg запускать как-то так:

ffmpeg -v debug -i test.mkv out.mkv

debug - выведет дампы http запросов, там можно увидеть, что уходить к HTTP серверу. Ну или смотреть логи сервера. Либо подсовывать CGI и смотреть внутри, что пришло.

Отмечу, через HTTP запросы у меня получить весь файл ни при помощи file, ни при помощи subfile не получилось. Только первую строку.

h4tr3d ★★★★★
()
Ответ на: комментарий от Quasar

При чём тут свободный софт, если эта уязвимость появилась по вине Apple?

В свободном софте вечно находится какой-нибудь «эппл», который делает этот софт некачественным.

zgen ★★★★★
()
Ответ на: комментарий от Tactile

Вот, самая актуальная версия у меня тут: https://build.opensuse.org/package/show/home:Warhammer40k:stuff/firefox-appar...

Профиль зарпещает файрфоксу доступ ко всему важному в локальной фс. Загрузки идут в каталог /mnt/downloads. Работает flash плагин на основе chromium-pepper-flash, расширение flashgot+wget+xterm.

Для конкретного дистрибутива и файрфокса, что-то может отличаться немного. Иногда нахожу в профиле баги\недоделки и обновляю, если будут какие-то предложения по улучшению - пишите.

DawnCaster ★★
()
Ответ на: комментарий от anonymous

Зато решето там всё равно есть.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.