CVE-2026-63641
Received Received - Intake

Remote Code Execution in MagicMirror²

Vulnerability report for CVE-2026-63641, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-08-18

Last updated on: 2026-08-18

Assigner: GitHub, Inc.

Description

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 Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-08-18
Last Modified
2026-08-18
Generated
2026-08-18
AI Q&A
2026-08-18
EPSS Evaluated
N/A
NVD
EUVD

Affected Vendors & Products

Showing 1 associated CPE
Vendor Product Version / Range
magicmirror magicmirror to 2.37.0 (exc)

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-284 The product does not restrict or incorrectly restricts access to a resource from an unauthorized actor.

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

MagicMirror² before version 2.37.0 only enforced IP whitelist restrictions on HTTP routes via Express middleware. The Socket.IO server, attached directly to the HTTP server, lacked equivalent IP allowlist checks. This allowed unauthenticated adjacent-network clients to connect to module Socket.IO namespaces and trigger arbitrary events in js/node_helper.js. Default modules like newsfeed and calendar could make server-side requests to attacker-selected URLs, while updatenotification could execute commands via child_process.exec if a third-party module update was pending.

Detection Guidance

Check if MagicMirror is running on a non-loopback interface with ipWhitelist enabled. Inspect network traffic for unauthorized Socket.IO connections to module namespaces. Review logs for unexpected module-helper events or SSRF attempts.

Impact Analysis

An attacker on the same network could exploit this to access internal services, manipulate module state, or execute commands. Default modules may perform SSRF by fetching data from attacker-controlled URLs. If a third-party module update is pending, the attacker can supply a malicious update command to execute arbitrary code via child_process.exec.

Mitigation Strategies

Upgrade MagicMirror to version 2.37.0 or later. Ensure ipWhitelist is properly configured and enforced for both HTTP and Socket.IO connections. Restrict network access to non-loopback interfaces if not required.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-63641. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart