Координаційний центр CERT (CERT/CC) опублікував інформацію про дві невиправлені вразливості в бібліотеці HTML5-відеоплеєра Kaltura, які дають змогу віддаленому неавтентифікованому зловмиснику читати довільні файли з сервера та виконувати на ньому код. Вразливості відстежуються як CVE-2026-19913 (довільне читання файлів) і CVE-2026-19912 (віддалене виконання коду). Патч відсутній: за заявою CERT/CC, координаційному центру не вдалося зв’язатися з Kaltura для координованого розкриття. Проблема зачіпає не лише окремі інсталяції, а й мультиорендну CDN-інфраструктуру вендора, через яку обслуговуються всі клієнти на спільних хостах. Адміністраторам рекомендовано негайно заблокувати доступ до вразливого ендпоінта та ротувати всі облікові дані.
Технічні деталі вразливостей
Обидві вразливості коріняться в небезпечній десеріалізації в ендпоінті mwEmbedLoader.php бібліотеки mwEmbed (також поширюваної як html5lib). За даними CERT/CC, жодна з вразливостей не потребує автентифікації чи сесійного токена Kaltura — єдиною умовою експлуатації є мережевий доступ до ендпоінта.
CVE-2026-19913 — довільне читання файлів
Ендпоінт mwEmbedLoader.php приймає параметр ServiceUrl і використовує його як цільовий URL для запитів до бекенд-API. PHP-клієнт KalturaClientBase отримує вміст за вказаним URL і передає його у функцію unserialize() без перевірки джерела, схеми чи вмісту. Якщо зловмисник підставляє шлях зі схемою file://, сервер зчитує локальний файл замість відповіді API. Десеріалізація завершується помилкою, а необроблений вміст файла повертається в повідомленні про помилку. Дослідник Гер’ян Вемекамп із AndDone, який описав обидві вразливості в технічному звіті, оцінив цю вразливість у CVSS 9.1 (оцінка дослідника, не NVD).
CVE-2026-19912 — віддалене виконання коду
Друга вразливість перетворює ту саму десеріалізацію на вектор виконання коду через параметр uiconf_id. Цей параметр додається до шляху кеш-директорії без санітизації під час запису на диск. Зловмисник спрямовує ServiceUrl на шкідливий серіалізований об’єкт із виконуваним PHP-кодом. Клієнт отримує його та десеріалізує. Значення uiconf_id, що містить послідовності обходу каталогів (наприклад, ../), відводить запис за межі кеш-директорії у веб-доступне розташування. Прямий запит до цього файла призводить до його виконання від імені користувача веб-сервера. Дослідник оцінив цю вразливість у CVSS 10.0.
За словами Вемекампа, етап запису файла залежить від файлового бекенда кешування, який є конфігурацією Kaltura за замовчуванням. Конфігурація з використанням лише memcache може придушити запис і, відповідно, цей конкретний шлях до RCE, однак це не робить розгортання безпечним.
Уражені версії: за даними CERT/CC, уразливі html5lib v2.45, v2.103 і більш ранні, а також інші релізи v2.x, у яких доступний вразливий ендпоінт. Жодна з CVE станом на 25 серпня 2026 року не внесена до каталогу CISA KEV. Записи NVD для обох ідентифікаторів на ту саму дату були відсутні. CERT/CC не опублікував власних оцінок CVSS.
Статус експлуатації: активну експлуатацію «в дикій природі» не підтверджено, однак публічний технічний звіт дослідника фактично містить опис, достатній для відтворення атаки. Повний ланцюжок із розміщенням web shell було продемонстровано на Docker-образі Kaltura Server 2019 року; дослідник заявив, що в поточному релізі обидві складові ланцюжка присутні й десеріалізація виконується так, як описано.
Масштаб впливу та історичний контекст
Особливої гостроти ситуації надає архітектура розгортання Kaltura. Як зазначає CERT/CC, вразливий ендпоінт доступний не лише на індивідуальних клієнтських інсталяціях, а й на спільній мультиорендній CDN-інфраструктурі вендора. Це означає, що компрометація потенційно зачіпає всіх орендарів, яких обслуговують через ці спільні хости.
Показово, що Kaltura вже усувала проблеми небезпечної десеріалізації в минулому. У серпні 2017 року компанія видалила три небезпечні виклики unserialize та випустила виправлення в релізі 13.2.0. Однак той коміт зачепив три файли, жодним із яких не був KalturaClientBase.php — файл, що містить поточну вразливість. За даними першоджерела, виклик unserialize() у цьому файлі ідентичний упродовж 21 релізу — від Jupiter-10.9.0 (квітень 2015) до West-23.5.0 (серпень 2026), а вперше з’явився ще у березні 2014 року.
Провал координованого розкриття
Хронологія спроб зв’язатися з вендором, описана дослідником, виглядає так: перший звіт надіслано 23 березня 2026 року, повторне надсилання з корпоративної адреси — 13 квітня, звернення до CISO вендора через LinkedIn — 23 травня, ескалація через національний CERT — 2 липня. CERT/CC повідомив Kaltura 8 липня. Статус вендора за обома CVE в записі CERT/CC позначено як «Unknown» — жодної відповіді не отримано. Водночас файл security.txt Kaltura (останнє оновлення — 28 травня 2024 року) спрямовує повідомлення про вразливості до програми bug bounty на HackerOne та вказує адресу [email protected].
Рекомендації щодо мітингації
За відсутності патча CERT/CC і дослідник рекомендують такі захисні заходи:
- Заблокувати або видалити ендпоінт
mwEmbedLoader.phpна рівні WAF, зворотного проксі або CDN — особливо якщо застарілі mwEmbed-плеєри не використовуються. - Налаштувати список дозволених значень для
ServiceUrl, допускаючи лише власний API-хост розгортання та відхиляючи схеми, відмінні від HTTP(S). - Відхиляти значення
uiconf_id, що містять послідовності обходу каталогів, абсолютні шляхи або роздільники директорій. - Заборонити виконання PHP у кеш-директоріях.
- Обмежити вихідний мережевий доступ із сервера застосунків — шлях до виконання коду потребує завантаження корисного навантаження ззовні.
- Ротувати всі секрети з
local.iniна інсталяціях, де ендпоінт був доступний: облікові дані бази даних, паролі адміністратора та консолі, партнерські секрети й API-ключі.
Ситуація з Kaltura — наочний приклад того, як відсутність реакції вендора перетворює координоване розкриття фактично на нульовий день. Вразливий код існує в кодовій базі понад 12 років, публічний опис експлуатації доступний, а патча немає. Організаціям, які використовують Kaltura — чи то власне розгортання, чи хмарний сервіс, — слід негайно перевірити доступність ендпоінта mwEmbedLoader.php, застосувати перелічені заходи мітингації та ротувати всі облікові дані, які могли бути скомпрометовані через читання конфігураційних файлів.