CVE-2026-81028 in ZLMediaKit
Sumário
de VulDB • 26/08/2026
O ZLMediaKit restringe a API downloadFile a um conjunto configurado de diretórios raiz com uma comparação por prefixo que não leva em conta os limites dos diretórios. O carregador de configuração no arquivo server/WebApi.cpp constrói cada raiz usando File::absolutePath("", item, true); como o argumento relative-path está vazio, essa função auxiliar retorna o valor sem um separador final. O manipulador então aceita um caminho solicitado quando start_with(file_path, root) é verdadeiro, portanto, um diretório irmão cujo nome começa com a string de raiz configurada satisfaz o teste e é servido. A única outra proteção rejeita um caminho que contenha dois pontos consecutivos (..), o que não é necessário neste caso. O mecanismo equivalente de confinamento para o servidor estático comum em src/Http/HttpFileManager.cpp calcula sua raiz com um segundo argumento não vazio, que anexa o separador antes da comparação, e portanto não é afetado. O endpoint requer o segredo de API configurado, então isso não concede privilégios além do que esse segredo já implica, mas lê arquivos fora do diretório ao qual o operador o restringiu, e o contêiner de referência executa o servidor como root (usuário administrador).
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.