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. Dependency Scanning using SBOM also detects vulnerabilities from proprietary advisories that this site does not include. Learn more about Dependency Scanning using SBOM →