
CVE-2025-66723: inMusic Brands Engine DJ >=3.0.0 hasta <4.3.4 expone archivos locales y de red a partes externas
El software Engine DJ de inMusic Brands contiene un servidor HTTP embebido para transmitir archivos de la biblioteca multimedia a clientes conectados en la red. Los archivos multimedia se hacen referencia mediante rutas del sistema de archivos. Engine DJ no autentica a los clientes ni restringe las rutas solicitadas del sistema de archivos. Esto permite que un atacante extraiga archivos locales sensibles o accesibles por red de los sistemas afectados.
Un atacante solo necesita acceso de red al host afectado; no se requiere autenticación ni interacción previa.
Engine DJ v4.3.4, publicado el 17 de noviembre de 2025, incluye una mitigación. Se recomienda a los usuarios actualizar lo antes posible.
Puntuación Base CVSS v3.1: 7.5 (Alta)
Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
Engine DJ >=3.0.0, <4.3.4, en todas las plataformas (macOS, Windows).
Versiones específicamente probadas y encontradas afectadas/vulnerables, macOS y Windows:
3.0.0, 3.0.1, 3.1.0, 3.1.1, 3.2.0, 3.3.0, 3.4.0,
4.0.0, 4.0.1, 4.1.0, 4.2.0, 4.2.1, 4.3.0
Versiones específicamente probadas y encontradas no afectadas, macOS y Windows:
2.0.0, 2.0.1, 2.0.2, 2.1.0, 2.2.0, 2.2.1, 2.2.2, 2.3.0, 2.3.1, 2.3.2, 2.4.0,
4.3.4
Cuando se inicia, Engine DJ se vincula al puerto :50020 en cada interfaz de red IPv4,
excepto en localhost.
Los clientes deben usar un servicio gRPC separado en el puerto :50010 para solicitar
acceso y buscar archivos multimedia. Una vez que se encuentra la ruta del archivo multimedia deseado,
el cliente realiza una solicitud HTTP al puerto :50020:
GET /download/%3CC%3A%2FMusic%2Ftest.flac%3E HTTP/1.1
Host: 192.0.2.1:50020
User-Agent: EngineOS/1.0 DenonDJ
Accept: */*
HTTP/1.1 200 OK
Content-Length: 37517194
Content-Type: application/octet-stream
Keep-Alive: timeout=5, max=5
…
Nota: Al decodificar, la ruta GET anterior es simplemente:
/download/<C:/Music/test.flac>
No es necesario codificar en porcentaje estos caracteres al realizar solicitudes.
Un atacante puede solicitar cualquier cosa accesible por el usuario bajo el cual se ejecuta el software Engine DJ, siempre que el atacante conozca la ruta. En este ejemplo, se utiliza un archivo de texto para pruebas:
GET /download/<C:/Users/USERNAME/test.txt> HTTP/1.1
Host: 192.0.2.1:50020
HTTP/1.1 200 OK
Content-Length: 40
Content-Type: application/octet-stream
Keep-Alive: timeout=5, max=5
INSECURE...
From text file test.txt
Los archivos accedidos durante las pruebas de laboratorio de prueba de concepto incluían claves SSH privadas y archivos de entorno.
Las rutas solicitadas no se limitan a archivos locales. También se encontró que las rutas de red eran accesibles, sujetas a los permisos del host:
/download/<//EXAMPLE-SERVER/C$/secret.txt>
Afortunadamente, no hay un encabezado Access-Control-Allow-Origin ni encabezados relacionados
en la respuesta del servidor. Por lo tanto, los archivos no son accesibles desde
clientes web normales. Ciertas extensiones o banderas del navegador pueden usarse para
flexibilizar las restricciones de solicitudes de origen cruzado, pero no son comunes.
El tráfico de red IPv4 en el puerto :50020 puede usarse para adivinar que
Engine DJ está en uso, pero no indica si un host es vulnerable.
El servidor embebido no se identifica en sus respuestas, y parece no haber
una diferencia medible entre las versiones vulnerables e invulnerables de
Engine DJ. Por lo tanto, parece externamente imposible determinar
si un host es vulnerable, a menos que se intente solicitar un archivo que se sabe que existe.
Inmediatamente después del descubrimiento, se notificó a inMusic Brands sobre la vulnerabilidad a través de sus canales de soporte técnico. La respuesta fue profesional y rápida, y se publicó una mitigación para el problema como parte de v4.3.4 el 17 de noviembre de 2025 tanto para macOS como para Windows.
Si bien los archivos multimedia aún se pueden descargar sin autenticación/autorización,
las rutas solicitables ahora están en una lista blanca, de modo que no es posible
intentar acceder a un archivo fuera de la biblioteca multimedia. Los usuarios recibirán una
respuesta 403 para cualquier cosa que no esté en la lista blanca, incluso si no existe.
GET /download/<C:/Users/USERNAME/test.txt> HTTP/1.1
Host: 192.0.2.1:50020
HTTP/1.1 403 Forbidden
Content-Length: 17
Content-Type: text/html
Keep-Alive: timeout=5, max=5
…
Las descargas oficiales de las últimas versiones de Engine DJ se pueden encontrar en el sitio web oficial de Engine DJ:
https://enginedj.com/downloads
Para preguntas sobre este informe, comuníquese con el autor:
Brad Isbell, AudioPump, Inc. [email protected]