Исследователи безопасности из компании JFrog обнаружили опасную уязвимость в широко распространенном свободном мультимедийном фреймворке FFmpeg. Как сообщают исследователи в своем блоге (откроется в новом окне), злоумышленники могут использовать ее для того, чтобы вызвать сбой многочисленных программных решений, зависящих от FFmpeg. В некоторых случаях, например, в Jellyfin и Nextcloud, возможна даже удаленная подгрузка и выполнение вредоносного кода.
Исследователи назвали свою находку Pixelsmash. Уязвимость зарегистрирована под идентификатором CVE-2026-8461 (откроется в новом окне) и имеет высокий уровень опасности (CVSS: 8,8). Согласно описанию, она находится в библиотеке libavcodec, а именно в декодере MagicYUV фреймворка FFmpeg. Причиной являются возможные операции записи за пределами выделенной области памяти (Out-of-bounds Write, откроется в новом окне).
По данным JFrog, ошибка заключается в том, как декодер обрабатывает так называемые слайсы (slices). Это горизонтально разделенные области отдельных видеокадров, каждая из которых может декодироваться независимо от остальных. При преобразовании высоты слайса из строк яркостной (Luma) составляющей в строки цветностной (Chroma) составляющей в некоторых случаях возникают ошибки округления, которые и приводят к записи за пределы выделенного буфера.
Инфильтрация медиасервера через видеофайл
По данным JFrog, с помощью Pixelsmash потенциально можно вызвать сбой любого приложения, использующего FFmpeg. В их число входят популярные видеоплееры, медиасерверы и даже генераторы миниатюр (превью) для файловых менеджеров. Платформы для общения, такие как Slack, Discord, Telegram и WhatsApp, также считаются потенциально уязвимыми, поскольку они используют FFmpeg на серверной стороне для декодирования видеопревью. Однако исследователи не тестировали свою атаку на этих платформах.
В случае с Jellyfin и Nextcloud исследователям безопасности даже удалось добиться выполнения потенциально вредоносного кода на стороне сервера. Для этого злоумышленнику нужно лишь предоставить специально созданный видеофайл размером всего 50 Кбайт (AVI, MKV или MOV), который будет загружен на соответствующий сервер и там обработан. Как это выглядит на практике, исследователи показывают в двух видеороликах в своем блоге.
Особенно опасным Pixelsmash считается в сочетании с загрузками через торренты. По данным исследователей, злоумышленник может легко предоставить через торрент-трекер видеофайл, замаскированный под известный фильм. Если, например, соответствующим образом настроенный сервер Jellyfin загрузит его, то затем сервер автоматически выполнит сканирование метаданных с помощью FFmpeg.
В результате этого сканирования эксплойт уже срабатывает, и происходит выполнение вредоносного кода. Для этого пользователю не нужно активно открывать видеофайл или просматривать его в своей медиатеке. Поэтому исследователи JFrog в такой конфигурации говорят об "эксплойте с нулевым кликом" (Zero-Click Exploit). Однако атака на серверы Jellyfin работает только в том случае, если функция безопасности ASLR (откроется в новом окне), которая активна по умолчанию, отключена, либо если атака комбинируется с другой уязвимостью, позволяющей обойти ASLR.
Огромная поверхность атаки
Поскольку FFmpeg чрезвычайно распространен и используется во множестве программных проектов по обработке мультимедиа, поверхность атаки для Pixelsmash соответственно велика. По данным исследователей, уязвимый декодер "встроен практически в каждое приложение, работающее с видео", и, более того, "по умолчанию активирован в каждой сборке из основного репозитория (upstream)".
Исследователи JFrog сообщили о своей находке разработчикам FFmpeg 13 мая. Несколько дней спустя соответствующие уведомления были отправлены и мейнтейнерам некоторых уязвимых программных проектов. Патч для FFmpeg доступен, начиная с версии 8.1.2, выпущенной 17 июня (откроется в новом окне). Разработчикам, которые интегрировали FFmpeg в свои проекты, следует оперативно обновиться до исправленной версии. Если декодер MagicYUV не требуется, его можно отключить и в более старых версиях, чтобы защититься от атак Pixelsmash.