Description
MagicMirror² is an open source modular smart mirror platform. Prior to 2.37.0, the ADD_CALENDAR handler in defaultmodules/calendar/node_helper.js accepts an attacker-controlled URL, authentication data, and selfSignedCert setting through the unauthenticated Socket.IO namespace /calendar. The handler passes these fields to CalendarFetcher, causing a server-side request without SSRF validation and optionally disabling TLS verification. When the response is valid iCal, CALENDAR_EVENTS returns parsed event data to the attacker, allowing internal-service response data to be exfiltrated; other responses still provide a blind request and timing primitive. This issue is fixed in version 2.37.0.
Published: 2026-08-18
Score: 6.3 Medium
EPSS: n/a
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The ADD_CALENDAR handler in MagicMirror's defaultmodules/calendar/node_helper.js accepts an attacker‑controlled URL, authentication data, and selfSignedCert option through the unauthenticated Socket.IO namespace /calendar. These inputs are passed directly to CalendarFetcher without server‑side request forgery validation or TLS verification checks. An attacker can therefore trigger outbound HTTP(S) requests to arbitrary internal or external destinations, potentially retrieving iCal data. When a valid iCal response is received, the CALENDAR_EVENTS endpoint returns the parsed event data back to the attacker, allowing internal‑service response data to be exfiltrated. Even responses that are not valid iCal still provide a blind timing or response primitive, which can aid in probing internal networks.

Affected Systems

MagicMirror open‑source modular smart mirror platform from MagicMirrorOrg. Versions prior to 2.37.0 are affected; version 2.37.0 and later contain the fix.

Risk and Exploitability

The CVSS score of 6.3 indicates moderate severity. EPSS is not available, so the current exploitation probability cannot be quantified. The vulnerability is not listed in CISA KEV. The attack vector is external, via an unauthenticated Socket.IO namespace. An attacker with network reach to the Socket.IO endpoint can supply any URL and potentially reach internal resources or extract calendar data. The lack of authentication and absence of SSRF safeguards make exploitation relatively straightforward for a competent attacker, although the impact is limited to data exposure rather than denial of service or remote code execution.

Generated by OpenCVE AI on August 18, 2026 at 18:51 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade MagicMirror to version 2.37.0 or later, which removes the SSRF flaw.
  • If an immediate upgrade is not possible, restrict access to the /calendar Socket.IO namespace to trusted networks only and block or validate incoming URL parameters to prevent arbitrary outbound requests.
  • Implement network‑level controls, such as firewall rules or a reverse proxy, to block the MagicMirror process from making outbound requests to internal or local addresses that are not intended.

Generated by OpenCVE AI on August 18, 2026 at 18:51 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-w6x9-28jw-hq7j MagicMirror: ssrf calendar .js
History

Tue, 18 Aug 2026 19:00:00 +0000

Type Values Removed Values Added
First Time appeared Magicmirrororg
Magicmirrororg magicmirror
Vendors & Products Magicmirrororg
Magicmirrororg magicmirror

Tue, 18 Aug 2026 17:30:00 +0000

Type Values Removed Values Added
Description MagicMirror² is an open source modular smart mirror platform. Prior to 2.37.0, the ADD_CALENDAR handler in defaultmodules/calendar/node_helper.js accepts an attacker-controlled URL, authentication data, and selfSignedCert setting through the unauthenticated Socket.IO namespace /calendar. The handler passes these fields to CalendarFetcher, causing a server-side request without SSRF validation and optionally disabling TLS verification. When the response is valid iCal, CALENDAR_EVENTS returns parsed event data to the attacker, allowing internal-service response data to be exfiltrated; other responses still provide a blind request and timing primitive. This issue is fixed in version 2.37.0.
Title MagicMirror: ssrf calendar .js
Weaknesses CWE-441
CWE-918
References
Metrics cvssV4_0

{'score': 6.3, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:L/VI:N/VA:N/SC:L/SI:N/SA:N'}


Subscriptions

Magicmirrororg Magicmirror
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-08-18T17:18:52.556Z

Reserved: 2026-07-17T14:11:15.483Z

Link: CVE-2026-63643

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-08-18T18:19:12.260

Modified: 2026-08-18T18:19:12.260

Link: CVE-2026-63643

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-18T19:00:12Z

Weaknesses
  • CWE-441

    Unintended Proxy or Intermediary ('Confused Deputy')

  • CWE-918

    Server-Side Request Forgery (SSRF)