CVE-2026-63640: MagicMirror socket payload secret placeholder expansion can disclose SECRET_* environment variables
When hideConfigSecrets: true is enabled, MagicMirror redacts SECRET_* environment placeholders in the HTTP /config response, but the shared node-helper socket dispatcher expands **SECRET_NAME** placeholders in every inbound socket payload before passing it to module helpers. Any client that can connect to a loaded module namespace can send a placeholder such as **SECRET_API_KEY** and cause the server to substitute the real environment variable into the helper payload. Helpers that echo attacker-controlled payload fields, such as the default weather helper error path, can return the secret value to the socket client.
References
- github.com/MagicMirrorOrg/MagicMirror/commit/ca7b752025962441196e148f8c1bc04b90117979
- github.com/MagicMirrorOrg/MagicMirror/pull/4184
- github.com/MagicMirrorOrg/MagicMirror/releases/tag/v2.37.0
- github.com/MagicMirrorOrg/MagicMirror/security/advisories/GHSA-q4gh-4ffp-5cg8
- github.com/advisories/GHSA-q4gh-4ffp-5cg8
- nvd.nist.gov/vuln/detail/CVE-2026-63640
Code Behaviors & Features
Detect and mitigate CVE-2026-63640 with GitLab Dependency Scanning
Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Learn more about Dependency Scanning →