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