🇰🇷 한글 설명
MagicMirror² 2.37.0 미만 버전에서 Socket.IO 서버가 ipWhitelist의 보호를 받지 않아 발생하는 보안 취약점입니다. 공격자는 인증 없이 소켓 네임스페이스에 접속하여 임의의 이벤트를 전송할 수 있으며, 이를 통해 내부 서비스 노출이나 명령 실행이 가능할 수 있습니다.
💡 쉬운 설명
스마트 미러 소프트웨어의 보안 설정 구멍을 통해 외부인이 허가 없이 미러 시스템에 접속할 수 있는 문제입니다. 이를 악용하면 해커가 미러를 조작하거나 시스템에 위험한 명령을 내릴 수 있습니다.
🇺🇸 원문 (English)
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.
📍 영향받는 시스템
MagicMirror² versions prior to 2.37.0
⚔️ 공격 벡터
인증되지 않은 인접 네트워크 클라이언트가 Socket.IO 네임스페이스에 직접 연결하여 임의의 페이로드 전송
🛡️ 대응 방법
MagicMirror²를 최신 버전인 2.37.0 이상으로 업데이트하십시오.
🔧 검증 코드
출력된 버전 번호가 2.37.0 미만인지 확인하십시오.
npm list magicmirror 2>/dev/null | grep -E 'magicmirror@'