MagicMirror socket payload secret placeholder expansion can disclose SECRET_* environment variables
Key facts
- Attack vector
- Adjacent network
- Privileges required
- None
- User interaction
- None
- Attack complexity
- Low
- Impact type
- Information disclosure
- Confidentiality · integrity · availability
- Low · None · None
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA and GitHub. Impact type from CWE-200.
Summary
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/node_helper.js passes every inbound object payload through replaceSecretPlaceholder in js/server_functions.js before invoking socketNotificationReceived. A client connected to a loaded module namespace can submit a SECRET_API_KEY placeholder, causing the server to replace it with the corresponding process environment value. The default weather helper accepts INIT_WEATHER, copies the attacker-controlled instanceId, and returns it in WEATHER_ERROR, 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.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- Poc
- Automatable
- No
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| MagicMirrorOrg | MagicMirror | before 2.37.0 | 2.37.0 | Patch available | CNA |
| — | magicmirror (npm) | before 2.37.0 | 2.37.0 | Patch available | GHSA-q4gh-4ffp-5cg8 |
- MagicMirror VendorMagicMirrorOrg Affected before 2.37.0 Fixed in 2.37.0 Patch available CNA
- magicmirror (npm) Vendor— Affected before 2.37.0 Fixed in 2.37.0 Patch available GHSA-q4gh-4ffp-5cg8
Remediation
- Fix · CNA MagicMirror (MagicMirrorOrg) Fixed in 2.37.0
- Fix · GHSA-q4gh-4ffp-5cg8 magicmirror (npm) Fixed in 2.37.0 Advisory →
Vendor assessments
Timeline
- 2026-10-02 Threatist record created from CVE-2026-63640
- 2026-10-03 Alias added: GHSA-q4gh-4ffp-5cg8
References
Other 5
- https://github.com/MagicMirrorOrg/MagicMirror/security/advisories/GHSA-q4gh-4ffp-5cg8
- https://github.com/MagicMirrorOrg/MagicMirror/pull/4184
- https://github.com/MagicMirrorOrg/MagicMirror/commit/ca7b752025962441196e148f8c1bc04b90117979
- https://github.com/MagicMirrorOrg/MagicMirror/releases/tag/v2.37.0
- https://github.com/MagicMirrorOrg/MagicMirror
More MagicMirrorOrg vulnerabilities
- TI-2026-45284 MagicMirror newsfeed Socket.IO notification allows blind server-side request forgery CVSS 4.0MEDIUM 6.3
- TI-2026-45283 MagicMirror Socket.IO module namespaces bypass configured IP whitelist and allow unauthenticated server-side actions CVSS 4.0LOW 2.3
- TI-2026-45285 MagicMirror: ssrf calendar .js CVSS 4.0MEDIUM 6.3
Sources
- CVE-2026-63640 · CVE Program
- CVE-2026-63640 · NVD
- FIRST EPSS
- GHSA-q4gh-4ffp-5cg8 · GitHub Advisory Database · CC BY 4.0
- CVE-2026-63640 · Red Hat security data · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences