LINUX.ORG.RU

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

 ,


6

6

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

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

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

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

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

anonymous

Проверено: JB ()

Стоп, а как злоумышленник получит содержимое файла-то? По сети отправится? То есть, там, выходит, выполнение произвольного кода? Зачем тогда так ветиевато писать, и так понятно, чем это может грозить (и не только этим). Решето, конечно, эпическое…

upd:

Перешёл по ссылке, стало понятно. Нет, не произвольный код. Но уязвимость всё равно эпичная.

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

Можно просто пересобрать ffmpeg без поддержки HLS (HTTP Live Streaming). Уязвимость реализуется через него.

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

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

a1batross ★★★★★ ()

Супер. По ссылке статья автора в подробностях применения.

surefire ()

Придётся для фильмом в целях безопасности использовать венду

fornlr ★★★★★ ()

FFMpeg в Ubuntu используется для создания превью

По умолчанию же используется totem thumbnailer, который использует gstreamer

Или нет?

fornlr ★★★★★ ()

ffmpeg в изолированном окружении

Объясните, пожалуйста, как это? Создать отдельного позователя и под ним только кино смотреть, или как-то по-другому? Ну или ссылочку, куда копать.

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

Можно просто пересобрать ffmpeg без поддержки HLS (HTTP Live Streaming). Уязвимость реализуется через него.

Это оно?

+ + network                : Enables network streaming support
alexferman ()

Это логичное следствие запихивания в одну либу всего возможного барахла на свете.

trycatch ★★★ ()

Я правильно понимаю, что уязвимость эксплуатируется только в том случае, если я сам передам злоумышленнику получившийся видеофайл? То есть с моего десктопа нельзя так просто через эту дыру украсть файлы?

proud_anon ★★★★★ ()
Последнее исправление: proud_anon (всего исправлений: 1)

там в конце статьи автор писал, что это как-то неправильно считать уязвимостью самого ffmpeg
как бы это особенность протокола и его полная реализация

ii343hbka ★★★ ()

libav

libav как всегда не подвержена?

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

HLS (HTTP Live Streaming).

Пагади это значит школотвич и прочий гудгейм с скдватэвэ мона ламануть, да?)))))

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

Это вообще работа с сетью. На хабре пишут что достаточно добавить к опциям --disable-demuxer='hls,applehttp'. Но можно и отстрелить вообще всё общение с сетью, да...

Pinkbyte ★★★★★ ()
Ответ на: libav от wakuwaku

Увы, подвержена

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

На хабре пишут что достаточно добавить к опциям --disable-demuxer='hls,applehttp'

Но такого юза нет, так что я отстрелил всю сеть от греха подальше.

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

отключи превьюшки и смотри, например,через totem (там libav в плагинах давно)

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

Объясните, пожалуйста, как это? Создать отдельного позователя и под ним только кино смотреть, или как-то по-другому? Ну или ссылочку, куда копать.

Использовать Qubes OS :)

X-Pilot ★★★★★ ()
Ответ на: комментарий от fornlr

Так лучшие плееры и кодеки под венду тоже используют ffmpeg.

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

Жаль, не удастся пошутить на эту тему. Не даром у меня сеть задизейблена для них - это весьма вероятный вектор атак, а уж учитывая что этот комбайн задействован повсюду…

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

Ну так , в виндовс 10 поддержку матрешки же добавили на радость анимешникам.

GPU декодирование из коробки работает, что еще надо?

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

я наоборот превьюшки переделавал с totem на ffmpeg, потому что первое глюкодромище

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

я их вообще везде и для всего отклчаю, т. к. ненужно

amorpher ★★★★★ ()

Существует такой формат видео, как HLS (HTTP Live Streaming). Он разработан компанией Apple для передачи потокового видео

Это заговор яблочников

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

Это логичное следствие запихивания в одну либу всего возможного барахла на свете.

Только мне послышалось systemd ? :-)

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

с totem'ом беда - он не умеет в vaapi/vdpau. попробую использовать gst-play - с ним тоже безопасно будет? кстати, libav же вроде форк ffmpeg'а - откуда инфа, что в нем нет такой же баги?

anonymous ()

Это всё хорошо, но кто же делает вызов ffmpeg от имени root?

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

libav же вроде форк ffmpeg'а - откуда инфа, что в нем нет такой же баги?

а есть инфа что есть эта же бага?

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

А можно адресок этого запускателя сервера от рута? Хочу к нему в душу заглянуть.

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

поддержку матрешки

это контейнер, а не кодек. внутри всё тот же

GPU декодирование из коробки работает

оно самое

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

А причем тут «от рута», или это комментарий к первой, серверной части баги? Всеравно не понимаю, где вы прочитали про рута?

Еще раз кратко, чем это грозит для пользователя: скачиваете файл, файловый менеджер запускает генератор превью на основе ffmpeg / запускаете проигрывание в плеере (который использует lib** из ffmpeg) и ваш любой локальный файл (путь и полное имя которого злоумышленник выбирает заранее, при подготовке файла) утекает через сеть на сервер хакера. Защититься для пользователя - пересобрать с отключенной сетью (не всегда удобно), с отключенным HLS demuxer'ом (99.9% вы его не используете в вашем плеере). Решение лучше - изолировать, т.к. мало ли где там еще можно сделать подобные трюки.

hint ()
Ответ на: комментарий от wakuwaku

Не даром у меня сеть задизейблена для них

А как же интернет-радио?

X-Pilot ★★★★★ ()
Ответ на: комментарий от false

Нет, не правильно

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

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

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

false ★★★★ ()

Сотрудник Mail.ru

Местные элитарии как обычно саснулей :D

anonymous ()

Какая, к чёрту, уязвимость? Уязвимостью это становится, когда человек начинает использовать программу как сервис без включения мозгов и чтения мануалов. По сути: они не фильтруют пользовательский ввод, а следовательно - ССЗБ. Или SQL инъекции это тоже баг в SQL сервере?

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

Gstreamer всего лишь обёртка над в том числе тем же ffmpeg.

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

Редактируй ебилд в локальном оверлее. Для других пакетов можно задействовать EXTRA_ECONF, но не для ffmpeg.

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

Это раз, а два: кто вообще не фильтрует пользовательский ввод? Банальный ffprobe, file, просто скрипт и форсирование формата на вводе. Ловкий трюк и разработчики сервиса-идиоты, не более.

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