MagicMirror² — это модульная платформа интеллектуальных зеркал с открытым исходным кодом. До версии 2.37.0 MagicMirror применял ipWhitelist только в качестве промежуточного программного обеспечения Express, в то время как сервер Socket.IO в js/server.js подключался непосредственно к HTTP-серверу без эквивалентных проверок белого списка IP-адресов, происхождения или проверки подлинности пространства имен. В документированном развертывании без обратной связи, основанном на ipWhitelist, клиент соседней сети, не прошедший проверку подлинности, может напрямую подключаться к пространствам имен модуля Socket.IO, а js/node_helper.js отправляет произвольные события и полезные данные в SocketNotificationReceived.
Помощники ленты новостей и календаря по умолчанию могут отправлять запросы на стороне сервера к URL-адресам, выбранным злоумышленником, в то время как помощник updatenotification по умолчанию может обращаться к child_process.exec, когда ожидается обновление стороннего модуля, и злоумышленник предоставляет команду обновления через путь CONFIG сокета. Это может предоставлять доступ к внутренним службам, манипулировать состоянием модуля-помощника и условно выполнять команды. Эта проблема исправлена в версии 2.37.0.
Показать оригинальное описание (EN)
MagicMirror² is an open source modular smart mirror platform. Prior to 2.37.0, MagicMirror applies ipWhitelist only as Express middleware, while the Socket.IO server in js/server.js is attached directly to the HTTP server without equivalent IP allowlist, origin, or namespace authentication checks. In a documented non-loopback deployment that relies on ipWhitelist, an unauthenticated adjacent-network client can connect directly to module Socket.IO namespaces, and js/node_helper.js dispatches arbitrary events and payloads to socketNotificationReceived. The default newsfeed and calendar helpers can make server-side requests to attacker-selected URLs, while the default updatenotification helper can reach child_process.exec when a third-party module update is pending and the attacker supplies an update command through the socket CONFIG path. This can expose internal services, manipulate module-helper state, and conditionally execute commands. This issue is fixed in version 2.37.0.
Характеристики атаки
Последствия
Строка CVSS v4.0