Новости · Безопасность файлов

В Kaltura mwEmbed обнаружили незакрытые уязвимости чтения файлов и выполнения кода

Центр CERT/CC раскрыл 26 августа 2026 года две незакрытые уязвимости в mwEmbed — HTML5-видеоплеере компании Kaltura. Злоумышленник без аутентификации может прочитать любой файл на сервере и при определённых условиях добиться выполнения произвольного кода. Патча не существует: Kaltura не ответила на обращение CERT/CC.

27 августа 2026 Редакция LoadFile Чтение 5 мин
Серверная стойка с иконкой видеоплеера, файла и замка — уязвимости Kaltura mwEmbed

Коротко: CVE-2026-19913 (CVSS 9.1) — параметр ServiceUrl принимает схему file://, сервер читает локальный файл и отражает его байты в ошибке десериализации. CVE-2026-19912 (CVSS 10.0) — path-traversal в uiconf_id позволяет сбросить веб-шелл за пределами директории кэша. Затронуты html5lib v2.45, v2.103 и более ранние v2.x-релизы. Патча нет; защита — блокировка mwEmbedLoader.php на WAF или обратном прокси.

Содержание
  1. Что произошло 26 августа
  2. CVE-2026-19913: как mwEmbed отдаёт файлы с сервера
  3. CVE-2026-19912: от чтения файлов к выполнению кода
  4. Кто под угрозой и что находится в опасности
  5. Что делать администраторам прямо сейчас
  6. Источники

Что произошло 26 августа

26 августа 2026 года CERT/CC опубликовал уязвимость VU#308749 и два связанных CVE-идентификатора. Оба дефекта найдены исследователем Герьяном Вемекампом (компания AndDone) и затрагивают компонент mwEmbedLoader.php в библиотеке mwEmbed, которую Kaltura распространяет также под названием html5lib — это HTML5-плеер, встраиваемый на страницы для потоковой видеодоставки.

Kaltura — платформа управления видеоконтентом, которую используют университеты, корпоративные порталы и медиаслужбы. Уязвимый эндпоинт присутствует как на инсталляциях клиентов, так и на собственной многопользовательской CDN-инфраструктуре Kaltura. По данным CERT/CC, связаться с вендором не удалось, и на момент публикации ни одного патча не существует.

Нет патча, нет официального подтверждения от вендора

По состоянию на 26 августа 2026 года ни CVE-2026-19913, ни CVE-2026-19912 не числились в каталоге CISA KEV и не имели записи в NVD. Оценки CVSS 9.1 и 10.0 выставлены самим исследователем. Это не снижает реального риска — уязвимый код подтверждён независимо в 21 релизном теге, вплоть до West-23.5.0 от 13 августа 2026.

CVE-2026-19913: как mwEmbed отдаёт файлы с сервера

CVE-2026-19913 — уязвимость произвольного чтения файлов с рейтингом 9.1 по шкале CVSS (оценка исследователя). Корень проблемы — в параметре ServiceUrl, который mwEmbedLoader.php принимает из GET-запроса и передаёт PHP-клиенту KalturaClientBase как цель HTTP-обращения.

Стандартное предназначение ServiceUrl — указать URL бэкенд-API Kaltura. Однако код не проверяет ни схему, ни источник: если передать file:///etc/passwd или любой другой локальный путь, PHP-клиент прочитает файл и передаст содержимое в unserialize(). Десериализация завершается ошибкой, но байты прочитанного файла отражаются в тексте этой ошибки и возвращаются атакующему.

Вемекамп показал, что таким образом можно извлечь файл конфигурации приложения /opt/kaltura/app/configurations/local.ini. Этот файл содержит строки подключения к базе данных в открытом виде, пароли административной консоли и ссылки на внутренние хосты. Получив их, атакующий фактически получает полный контроль над экземпляром Kaltura.

!
Аутентификация не требуется

Единственное условие для эксплуатации CVE-2026-19913 — сетевой доступ к эндпоинту mwEmbedLoader.php. Ни сессионного токена Kaltura, ни учётных данных не нужно. Для инсталляций, опубликованных в интернете, это означает нулевой барьер для массового сканирования.

CVE-2026-19912: от чтения файлов к выполнению кода

CVE-2026-19912 (CVSS 10.0, оценка исследователя) превращает ту же точку входа в удалённое выполнение произвольного кода. Цепочка атаки использует два параметра одновременно.

Первый шаг — атакующий указывает в ServiceUrl адрес собственного сервера, отдающего специально сформированный PHP-сериализованный объект с исполняемым кодом. PHP-клиент Kaltura забирает содержимое и передаёт в unserialize().

Второй шаг — параметр uiconf_id вставляется в путь директории кэша без какой-либо санитизации. Если подставить последовательность ../../ или аналогичный path-traversal, результат записи (файл веб-шелла) оказывается за пределами разрешённой директории кэша — в папке, доступной веб-серверу напрямую. Последующий HTTP-запрос к этому файлу запускает произвольный PHP-код от имени процесса веб-сервера.

💡
Ограничение: кэш на диске

Вторая ступень цепочки требует файлового бэкенда кэша, который является настройкой Kaltura по умолчанию. При использовании исключительно memcache запись файла не происходит и именно этот путь к RCE недоступен. Тем не менее CERT/CC подчёркивает: конфигурация с memcache не является безопасной, поскольку CVE-2026-19913 (чтение файлов) работает независимо от бэкенда кэша.

Исследователь дополнительно проверил: файл KalturaClientBase.php, содержащий уязвимый вызов unserialize(), идентичен по байтам в 21 релизном теге — от Jupiter-10.9.0 (апрель 2015) до West-23.5.0 (13 августа 2026). Это означает, что код существует в неизменённом виде более одиннадцати лет.

Кто под угрозой и что находится в опасности

Затронуты все инсталляции Kaltura, которые используют html5lib версий v2.45, v2.103 и более ранних v2.x-релизов с открытым эндпоинтом mwEmbedLoader.php. Помимо самостоятельно развёрнутых экземпляров, эндпоинт присутствует и на общей многопользовательской CDN Kaltura: по оценке CERT/CC, это затрагивает всех арендаторов, обслуживаемых через эту инфраструктуру.

Успешная эксплуатация CVE-2026-19913 открывает доступ к:

  • строкам подключения к базам данных и паролям из конфигурационных файлов приложения;
  • API-ключам и токенам интеграций, хранящимся в local.ini и соседних файлах конфигурации;
  • произвольным файлам операционной системы, доступным на чтение пользователю веб-сервера (в типовой установке — apache или nginx).

Успешная эксплуатация CVE-2026-19912 при файловом кэше даёт полный контроль над сервером: выполнение команд, изменение видеоконтента, горизонтальное перемещение по инфраструктуре. Это тот тип уязвимости в программах для работы с файлами, где прочитанный файл конфигурации превращается в плацдарм для захвата всего сервера — о типовых векторах мы рассказывали в разделе безопасность файлов.

Параллельно в 2026 году были раскрыты похожие проблемы в других обработчиках файлов: уязвимость CVE-2026-16633 в PDF.js позволяла выполнять JavaScript при открытии PDF в браузере, а в Foxit PDF Reader были закрыты множественные RCE. Общий паттерн один: небезопасная десериализация или недостаточная валидация входных данных при обработке файлов.

Что делать администраторам прямо сейчас

Поскольку патча нет и связаться с вендором до сих пор не удалось, CERT/CC предлагает следующие меры защиты:

  1. Заблокировать или удалить эндпоинт на уровне WAF, обратного прокси или CDN — там, где устаревшие mwEmbed-плееры не обслуживаются. Это единственный способ полностью устранить вектор атаки.
  2. Ввести строгий белый список для параметра ServiceUrl. Если убрать эндпоинт целиком невозможно, разрешить только легитимные URL бэкенда Kaltura и отклонять любые другие схемы, в том числе file://, gopher://, dict://.
  3. Перейти на файловый бэкенд кэша только при крайней необходимости. Переключение на memcache блокирует один путь к RCE (CVE-2026-19912), но не закрывает произвольное чтение файлов (CVE-2026-19913).
  4. Проверить журналы на признаки эксплуатации. Искать GET-запросы к mwEmbedLoader.php с параметром ServiceUrl, содержащим file:// или нестандартные хосты, а также подозрительные значения uiconf_id с ../-последовательностями.
  5. Следить за выходом патча. Kaltura ранее закрывала небезопасные вызовы unserialize() — в 2017 году вышло исправление релиза 13.2.0. Как только появится новая версия, обновиться немедленно.
Проверьте версию html5lib

Узнать, какая версия html5lib развёрнута на вашем сервере, можно из заголовка ответа или из тега VERSION в исходниках репозитория. Если версия относится к ветке v2.x и эндпоинт доступен извне — необходимо немедленно применить сетевую блокировку.

Источники

Читайте также