CVE-2026-81028 in ZLMediaKit
Resumen
por VulDB • 2026-08-26
ZLMediaKit limita la API downloadFile a un conjunto configurado de directorios raíz mediante una comparación por prefijo que no tiene en cuenta los límites de los directorios. El cargador de configuración en server/WebApi.cpp construye cada ruta raíz con File::absolutePath("", item, true); dado que el argumento relative-path está vacío, esta función auxiliar devuelve el valor sin un separador final. A continuación, el controlador acepta una ruta solicitada cuando se cumple start_with(file_path, root), por lo que un directorio hermano cuyo nombre comienza simplemente con la cadena de raíz configurada satisface la prueba y es servido. La única otra medida de seguridad rechaza las rutas que contienen dos puntos consecutivos (..), requisito que no aplica en este caso. La verificación de confinamiento equivalente para el servidor estático habitual, ubicada en src/Http/HttpFileManager.cpp, calcula su raíz con un segundo argumento no vacío, lo que añade el separador antes de la comparación y, por tanto, no se ve afectada. El punto final requiere el secreto API configurado, por lo que esto no otorga privilegios más allá de los que ya implica dicho secreto; sin embargo, lee archivos fuera del directorio al que el operador lo ha confinado, y el contenedor de referencia ejecuta el servidor como root (usuario raíz).
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.