CVE-2026-63640: MagicMirror socket payload secret placeholder expansion can disclose SECRET_* environment variables

Published Aug 18, 2026
·
Updated

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/nodehelper.js passes every inbound object payload through replaceSecretPlaceholder in js/serverfunctions.js before invoking socketNotificationReceived. A client connected to a loaded module namespace can submit a SECRETAPIKEY placeholder, causing the server to replace it with the corresponding process environment value. The default weather helper accepts INITWEATHER, copies the attacker-controlled instanceId, and returns it in WEATHERERROR, 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.

Affected Software

1 affected component
MagicMirror² MagicMirror²<2.37.0

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade MagicMirror² to a version that resolves this vulnerability.

    Fixed in 2.37.0

Event History

Aug 18, 2026
CVE Published
via MITRE·05:35 PM
Data Sourced
via MITRE·05:35 PM
DescriptionSeverityWeakness

Frequently Asked Questions

1

Which deployments are exposed?

Systems running MagicMirror² before 2.37.0 are affected when hideConfigSecrets is enabled and secrets are present in process environment variables whose names begin with SECRET_. Exposure requires that an attacker can connect as a client to a loaded module namespace.

2

What does an attacker need to do to retrieve a secret?

No authentication, user interaction, or complex exploitation conditions are described. An attacker sends an object payload containing a placeholder such as SECRET_API_KEY; the socket dispatcher expands it before passing it to the module, and the weather helper can echo the attacker-controlled instanceId in a WEATHER_ERROR response.

3

What is the remediation?

Upgrade MagicMirror² to version 2.37.0, which fixes the issue. The provided data does not describe an alternative mitigation for systems that cannot yet be patched.

4

How can I determine whether my deployment is affected?

Review whether a client connected to a loaded module namespace can send a SECRET_* placeholder and receive its expanded value through a module response such as WEATHER_ERROR. Also identify SECRET_ environment variables available to the MagicMirror² process, as those are the values at risk of disclosure.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203