Falhas não corrigidas no Kaltura mwEmbed podem permitir leitura de arquivos e execução de código à distância
26 de Agosto de 2026

O CERT Coordination Center, o CERT/CC, revelou duas vulnerabilidades sem correção na biblioteca do player de vídeo HTML5 da Kaltura que permitem a um invasor remoto e sem autenticação ler arquivos arbitrários de um servidor e executar código nele.

As falhas, identificadas como CVE-2026-19913 e CVE-2026-19912 , têm origem na mesma desserialização insegura no endpoint mwEmbedLoader.php da biblioteca mwEmbed, distribuída pela Kaltura também como html5lib.

Nenhuma delas exige autenticação ou um token de sessão da Kaltura, e o único pré-requisito citado pelo CERT/CC é o acesso à rede ao endpoint.

Não há patch disponível, e o CERT/CC afirmou que foi “incapaz de entrar em contato com a Kaltura para coordenar essas vulnerabilidades”. Administradores são orientados a restringir ou desativar o acesso externo ao endpoint e a aplicar uma lista de permissão rigorosa para o parâmetro ServiceUrl, permitindo apenas URLs legítimas da API de backend.

Até a publicação deste texto, não havia relatos de exploração, e nenhuma das CVEs aparecia no catálogo Known Exploited Vulnerabilities, o KEV, da CISA em 25 de agosto de 2026.

O CERT/CC descreve a Kaltura como uma plataforma de vídeo que oferece ferramentas para gerenciamento, publicação, reprodução e integração com aplicações web. O carregador vulnerável está exposto em instalações de clientes e também nos hosts compartilhados de produção da própria Kaltura.

“Como o endpoint afetado também está exposto na infraestrutura de CDN compartilhada e multi-tenant da Kaltura, essas vulnerabilidades afetam não apenas instalações individuais de clientes, mas também todos os tenants atendidos por esses hosts compartilhados”, disse o CERT/CC no informe de vulnerabilidade.

O problema de leitura de arquivos, CVE-2026-19913 , começa com o parâmetro ServiceUrl, que o mwEmbedLoader.php aceita e usa como URL de destino para requisições à API de backend. O cliente PHP KalturaClientBase busca o conteúdo retornado por essa URL e o passa para a função unserialize() do PHP sem validar a origem, o esquema ou o conteúdo.

Ao fornecer um caminho file://, o servidor busca um arquivo local em vez de uma resposta da API. A tentativa de desserialização falha e os bytes brutos do arquivo recuperado são refletidos de volta ao solicitante dentro da mensagem de erro gerada.

Gerjan Wemekamp, pesquisador da AndDone creditado por relatar as duas falhas, disse em um texto técnico publicado na terça-feira que transformou a leitura de arquivo em uma etapa mais grave ao recuperar a configuração da aplicação da Kaltura em /opt/kaltura/app/configurations/local.ini, que contém strings de conexão com o banco de dados em texto simples, senhas de administrador e do console, além de referências a hosts internos.

A segunda falha, CVE-2026-19912 , converte a mesma desserialização em execução de código por meio do parâmetro de requisição uiconf_id, que é anexado ao caminho da pasta de cache sem sanitização quando a aplicação grava dados em disco.

O invasor aponta o ServiceUrl para um objeto serializado malicioso que carrega código PHP executável. O cliente faz o download e desserializa o conteúdo. Um valor de uiconf_id com sequências de travessia, como ../, então redireciona a gravação para fora do diretório de cache previsto e para um local acessível pela web. Ao solicitar esse arquivo diretamente, ele é executado com os privilégios do usuário do servidor web.

“A etapa de gravação do arquivo depende do backend de cache baseado em arquivos, que é o padrão da Kaltura. Uma configuração apenas com memcache pode impedir a gravação e, portanto, esse caminho específico de RCE. No entanto, isso não torna a implantação segura”, disse Wemekamp.

Como não há uma versão corrigida para instalar, os administradores que operam o player são orientados a seguir estas medidas:

Bloquear ou remover o endpoint no WAF, no proxy reverso ou na CDN, onde players legados do mwEmbed não estejam sendo usados.
Aplicar lista de permissão ao ServiceUrl, permitindo apenas o host de API da própria implantação e rejeitando esquemas que não sejam HTTP(S).
Rejeitar valores de uiconf_id que contenham sequências de travessia, caminhos absolutos ou separadores de diretório.
Negar a execução de PHP em diretórios de cache.
Restringir o acesso de rede de saída do servidor da aplicação, algo necessário para o caminho de execução de código buscar o payload.
Trocar todos os segredos em local.ini onde o endpoint tenha ficado exposto, incluindo credenciais de banco de dados, senhas de administrador e do console, segredos de parceiros e chaves de API.

O CERT/CC lista como afetadas as versões html5lib v2.45, v2.103 e anteriores, além de outras versões v2.x que exponham o endpoint vulnerável.

Wemekamp atribuiu nota 10,0 à CVE-2026-19912 e 9,1 à CVE-2026-19913 , classificando ambas como notas atribuídas pelo relator em seu texto. O CERT/CC não publicou pontuação para nenhuma das falhas, e não havia registro no NVD para nenhum dos identificadores em 25 de agosto de 2026.

O NIST informou em abril que não passa mais a enriquecer todas as CVEs, priorizando as que estão no catálogo KEV, o software usado no governo federal e o software classificado como crítico pela Ordem Executiva 14028.

O pesquisador foi explícito sobre o que demonstrou e o que não demonstrou.

“Para ser exato quanto ao escopo: o descarregamento completo de um web shell foi demonstrado na imagem Docker do Kaltura Server de 2019. O que verifiquei na versão atual é que as duas etapas da cadeia continuam presentes e que a etapa de desserialização ainda executa como descrito”, disse Wemekamp.

Segundo portais de notícias, o arquivo deployment/uiconf/KalturaClientBase.php, que contém a chamada a unserialize(), é idêntico em bytes em 21 referências de lançamento, de Jupiter-10.9.0, com commit de 27 de abril de 2015, até West-23.5.0, com commit de 13 de agosto de 2026. A chamada e a reflexão da mensagem de erro aparecem ainda antes, em uma referência de lançamento com commit de 10 de março de 2014.

A Kaltura já removeu desserialização insegura de sua base de código no passado. Em agosto de 2017, semanas antes de um aviso da Telekom Security sobre três falhas na plataforma, a empresa publicou um commit que removeu três chamadas inseguras a unserialize, e a fornecedora corrigiu esses problemas na versão 13.2.0. Esse commit alterou três arquivos, nenhum deles o KalturaClientBase.php.

A desserialização insegura sem correção disponível voltou a aparecer em outros lugares neste ano. Em julho, o Fastjson 1.x foi alvo de ataques com outra falha de desserialização sem patch, sem que um artefato corrigido da linha 1.x tivesse sido publicado na época.

A security.txt pública da Kaltura, atualizada pela última vez em 28 de maio de 2024, orienta o envio de relatos de vulnerabilidade para um programa de bug bounty no HackerOne e lista [email protected] para questões de segurança.

O cronograma do pesquisador registra um primeiro relato a um contato de segurança da fornecedora em 23 de março de 2026. Ele reenviou a comunicação a partir de um endereço corporativo em 13 de abril. Depois, entrou em contato com o CISO da fornecedora no LinkedIn em 23 de maio. O caso foi escalado por meio de um CERT nacional em 2 de julho.

O CERT/CC notificou a Kaltura em 8 de julho, e a nota informa o status da fornecedora para ambas as CVEs como Desconhecido, sem qualquer declaração recebida. Nenhuma das fontes informa qual endereço ou canal foi usado nos relatos iniciais.

Publicidade

Proteja sua empresa contra hackers através de um Pentest

Tenha acesso aos melhores hackers éticos do mercado através de um serviço personalizado, especializado e adaptado para o seu negócio. Guardsi: qualidade, confiança e especialidade em segurança ofensiva de quem já protegeu centenas de empresas. Saiba mais...