Vulnerabilidades Críticas en Kaltura mwEmbed
El CERT Coordination Center (CERT/CC) ha revelado la existencia de dos vulnerabilidades en la biblioteca de reproductor de video HTML5 de Kaltura, las cuales permiten a un atacante remoto y sin autenticación leer archivos arbitrarios de un servidor y ejecutar código. Estas vulnerabilidades, clasificadas como CVE-2026-19913 y CVE-2026-19912, se originan en una deserialización insegura en el endpoint mwEmbedLoader.php de la biblioteca mwEmbed, que Kaltura distribuye también como html5lib.
Ambas vulnerabilidades no requieren autenticación ni un token de sesión de Kaltura. Para explotarlas, el único requisito es acceder a la red en el endpoint afectado. Hasta la fecha, no se ha publicado ningún parche, y CERT/CC ha indicado que no ha podido contactar a Kaltura para coordinar la gestión de estas vulnerabilidades.
Consecuencias para Administradores
Se recomienda a los administradores restringir o desactivar el acceso externo al endpoint vulnerable y aplicar una lista de permitidos estricta para el parámetro ServiceUrl, permitiendo únicamente URLs de API de backend legítimas. Aunque no se han reportado explotaciones en el momento de la escritura y las vulnerabilidades no estaban en el catálogo de CISA de vulnerabilidades conocidas explotadas (KEV) hasta el 25 de agosto de 2026, el riesgo sigue siendo significativo.
Kaltura es descrita como una plataforma de video que proporciona herramientas para la gestión, publicación, reproducción e integración de videos con aplicaciones web. El cargador vulnerable está expuesto tanto en instalaciones de clientes como en los propios hosts de producción compartidos de Kaltura. Según CERT/CC, "dado que el endpoint afectado también está expuesto en la infraestructura CDN compartida y multi-tenant de Kaltura, estas vulnerabilidades afectan no solo a las instalaciones individuales de los clientes, sino también a cada inquilino servido por estos hosts compartidos".
Detalles de las Vulnerabilidades
La vulnerabilidad de lectura de archivos, CVE-2026-19913, comienza con el parámetro ServiceUrl, que mwEmbedLoader.php acepta y utiliza como URL objetivo para las solicitudes API de backend. El cliente KalturaClientBase PHP recupera lo que esa URL devuelve y lo pasa a la función unserialize() de PHP sin validar la fuente, el esquema o el contenido. Al suministrar una ruta file://, el servidor obtiene un archivo local en lugar de una respuesta de API, reflejando los bytes crudos del archivo recuperado en el mensaje de error resultante.
Gerjan Wemekamp, investigador de AndDone, quien reportó ambas fallas, detalló en un informe técnico que logró escalar la lectura de archivos al obtener la configuración de la aplicación Kaltura en /opt/kaltura/app/configurations/local.ini, que contiene cadenas de conexión a bases de datos en texto plano, contraseñas de administrador y referencias a hosts internos.
La segunda vulnerabilidad, CVE-2026-19912, transforma la misma deserialización en ejecución de código a través del parámetro de solicitud uiconf_id, que se añade a la ruta de carpeta de caché sin sanitización cuando la aplicación escribe en disco. Un atacante puede apuntar al ServiceUrl hacia un objeto serializado malicioso que contenga código PHP ejecutable. El cliente lo obtiene y lo deserializa. Un valor de uiconf_id que contenga secuencias de travesía como ../ redirige la escritura fuera del directorio de caché previsto hacia uno accesible a través de la web. Solicitar directamente ese archivo ejecuta el código como el usuario del servidor web.
Medidas de Mitigación
Ante la falta de una versión corregida, se aconseja a los administradores que realicen las siguientes acciones: - Bloquear o eliminar el endpoint en el WAF, proxy inverso o CDN donde no se sirvan reproductores mwEmbed heredados. - Permitir solo el host API de la implementación en el parámetro ServiceUrl, rechazando esquemas no HTTP(S). - Rechazar valores de uiconf_id que contengan secuencias de travesía, rutas absolutas o separadores de directorios. - Denegar la ejecución de PHP en directorios de caché. - Restringir el acceso a la red saliente desde el servidor de aplicaciones, que es necesario para obtener el payload en la ruta de ejecución de código. - Rotar todas las credenciales en local.ini donde el endpoint ha estado expuesto, incluyendo contraseñas de bases de datos, contraseñas de administrador y claves de API.
Las versiones afectadas son html5lib v2.45, v2.103 y versiones anteriores, así como otras lanzadas bajo el número de versión 2.x que expongan el endpoint vulnerable. Wemekamp ha clasificado CVE-2026-19912 con un puntaje de 10.0 y CVE-2026-19913 con 9.1, etiquetando ambas en su informe como asignadas por el reportero. CERT/CC no ha publicado ningún puntaje para estas vulnerabilidades, y no existía un registro NVD para ninguno de los identificadores hasta el 25 de agosto de 2026. Según NIST, desde abril ya no se enriquece cada CVE, priorizando aquellos en el catálogo KEV y software designado como crítico.
La demostración de estas vulnerabilidades se realizó en la imagen de servidor Kaltura de 2019, y el investigador aseguró que ambos componentes de la cadena de explotación están presentes en la versión actual.