В экосистеме видеохостинга и потоковых сервисов обнаружена опасная уязвимость, позволяющая злоумышленникам получить полный контроль над медиасерверами. Проблема, зарегистрированная под идентификатором CVE-2026-29058, затрагивает популярную платформу с открытым исходным кодом AVideo, используемую для создания собственных аналогов YouTube. Уязвимость классифицируется как критическая с максимальным баллом 9.8 по шкале CVSS и не требует от атакующего ни взаимодействия с пользователем, ни наличия каких-либо учётных данных для эксплуатации.
Суть угрозы и механизм эксплуатации
Уязвимость представляет собой инъекцию команд операционной системы (OS Command Injection) и относится к классу CWE-78 - некорректная нейтрализация специальных элементов в командах ОС. Её корень кроется в недостаточной валидации пользовательского ввода в двух компонентах платформы: "objects/getImage.php" и "objects/security.php". Конкретно, проблема связана с обработкой параметра "base64Url". Система декодирует переданные в него данные и, без должной очистки или экранирования, напрямую подставляет их в команду оболочки (shell), предназначенную для вызова мультимедийного инструмента "ffmpeg".
Хотя приложение пытается проверить ввод с помощью стандартной PHP-функции "filter_var" с флагом "FILTER_VALIDATE_URL", эта проверка оценивает только базовый формат URL-адреса. Она совершенно неспособна распознать и заблокировать встроенные в строку вредоносные команды, такие как ";", "&", "|" или "&&", которые перенаправляют выполнение скрипта. Поскольку платформа для фоновых задач использует функции вроде "shell_exec", атакующий получает возможность выполнить произвольные команды на уровне операционной системы сервера. Это открывает путь к полной компрометации: хищению конфиденциальных данных, остановке сервисов, установке программ-вымогателей или использованию сервера в качестве плацдарма для атак на внутреннюю сеть организации.
Кто в зоне риска и каковы последствия
Под угрозой находятся все организации, использующие уязвимые версии AVideo для организации корпоративных видеопорталов, образовательных платформ, систем видеонаблюдения или публичных видеосервисов. Учитывая, что для успешной атаки не требуется аутентификация (так называемая zero-click уязвимость), под удар могут попасть даже системы, расположенные за файрволлами и доступные только из внутренней сети, если злоумышленник уже проник в периметр. Последствия эксплуатации носят катастрофический характер: от утечки баз данных с персональной информацией пользователей и приватных медиафайлов до полного паралича работы видеосервиса и связанных с ним бизнес-процессов.
Рекомендации по устранению и защите
Разработчики AVideo оперативно отреагировали на сообщение об уязвимости, которое было первоначально опубликовано исследователем DanielnetoDotCom при участии аналитика arkmarta. Проблема полностью устранена в выпущенной версии 7.0. Поэтому основная и безотлагательная мера для всех администраторов - обновление инсталляций AVideo до актуальной, исправленной версии. Патч реализует строгое экранирование аргументов командной оболочки с помощью функции "escapeshellarg()" для всех пользовательских данных перед их использованием в системных командах, что блокирует возможность инъекции.
Для организаций, которые не могут немедленно провести обновление, критически важно внедрить временные меры защиты (workarounds). Наиболее эффективным шагом будет ограничение доступа к уязвимому файлу "objects/getImage.php" на уровне веб-сервера (например, в конфигурации Nginx или Apache). Доступ следует разрешить только с доверенных IP-адресов или для пользователей, прошедших строгую аутентификацию. Если функционал этого компонента не используется, файл можно полностью отключить. Кроме того, необходимо задействовать правила WAF (межсетевой экран веб-приложений), настроенные на блокировку попыток инъекции команд ОС. Регулярный мониторинг журналов (логов) веб-сервера и системы на предмет подозрительной активности также поможет вовремя обнаружить инцидент.
Данный случай наглядно демонстрирует классическую, но оттого не менее опасную ошибку разработки - недоверие к пользовательскому вводу. Он служит напоминанием для всех, кто отвечает за безопасность веб-приложений, о необходимости многоуровневой защиты, включающей не только своевременное обновление ПО, но и корректную настройку окружающей инфраструктуры.
Ссылки
- https://www.cve.org/CVERecord?id=CVE-2026-29058
- https://github.com/WWBN/AVideo-Encoder/security/advisories/GHSA-9j26-99jh-v26q