🇰🇷 한글 설명
MagicMirror² 2.37.0 미만 버전에서 보안 설정이 활성화되어 있어도 특정 모듈을 통해 환경 변수에 저장된 비밀 정보를 탈취할 수 있는 취약점이 발견되었습니다. 공격자가 조작된 페이로드를 전송하면 서버가 비밀 값을 포함하여 응답을 반환함으로써 API 키나 자격 증명이 노출될 수 있습니다.
💡 쉬운 설명
스마트 미러 프로그램의 보안 기능이 제대로 작동하지 않아, 해커가 미러에 저장된 중요한 비밀번호나 API 키를 몰래 알아낼 수 있는 문제입니다. 공격자가 특수한 메시지를 보내면 미러가 실수로 비밀 정보를 다시 알려주는 방식입니다.
🇺🇸 원문 (English)
MagicMirror² is an open source modular smart mirror platform. Prior to 2.37.0, when hideConfigSecrets is enabled, the catch-all socket dispatcher in js/node_helper.js passes every inbound object payload through replaceSecretPlaceholder in js/server_functions.js before invoking socketNotificationReceived. A client connected to a loaded module namespace can submit a SECRET_API_KEY placeholder, causing the server to replace it with the corresponding process environment value. The default weather helper accepts INIT_WEATHER, copies the attacker-controlled instanceId, and returns it in WEATHER_ERROR, providing an echo path for the expanded secret. This reverses the intended one-way redaction boundary and can disclose API tokens, credentials, or service keys stored in SECRET_ variables. This issue is fixed in version 2.37.0.
📍 영향받는 시스템
MagicMirror² 2.37.0 미만 버전
⚔️ 공격 벡터
클라이언트가 조작된 SECRET_API_KEY 플레이스홀더를 포함한 객체를 소켓 디스패처로 전송하여 서버의 환경 변수를 에코(echo) 응답으로 유도
🛡️ 대응 방법
MagicMirror²를 최신 버전인 2.37.0 이상으로 업데이트하십시오.
🔧 검증 코드
출력된 버전 번호가 2.37.0 미만인지 확인하십시오.
npm list magicmirror 2>/dev/null | grep -E 'magicmirror@'