CVE-2026-63642: MagicMirror newsfeed Socket.IO notification allows blind server-side request forgery
The checkArticleUrl() function in newsfeed/node_helper.js runs fetch(url, { method: "HEAD" }) with zero validation of the URL and returns ARTICLE_URL_STATUS { url, canFrame }.
This gives the attacker a boolean + timing oracle to map internal hosts and ports: presence, absence, and response time reveal which internal services are alive. It is a “blind-ish” SSRF — the attacker doesn’t see the body, but forces the server-side request and observes the effect on the target.
The actual proof is observed on the target side (the server-side HEAD shows up in the internal service’s log), since the canFrame field alone leaks little.
References
- github.com/MagicMirrorOrg/MagicMirror/commit/58c2a5e675a7d367b64d72e1d35680d202ff5c9f
- github.com/MagicMirrorOrg/MagicMirror/pull/4169
- github.com/MagicMirrorOrg/MagicMirror/releases/tag/v2.37.0
- github.com/MagicMirrorOrg/MagicMirror/security/advisories/GHSA-998g-7v5w-cr7g
- github.com/advisories/GHSA-998g-7v5w-cr7g
- nvd.nist.gov/vuln/detail/CVE-2026-63642
Code Behaviors & Features
Detect and mitigate CVE-2026-63642 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 →