Magic Mirror Vulnerabilities (CVE-2026-63642, CVE-2026-63643 )
Durante uma análise do código-fonte do MagicMirror², uma plataforma open source utilizada para transformar um espelho semitransparente em um display inteligente, foram identificadas duas vulnerabilidades recentes de Server-Side Request Forgery (SSRF): CVE-2026-63642 e CVE-2026-63643.
As vulnerabilidades estão relacionadas a diferentes módulos do MagicMirror² e permitem que requisições controladas externamente sejam processadas pelo servidor. A CVE-2026-63642 afeta o módulo newsfeed e permite realizar requisições HTTP do lado do servidor por meio da funcionalidade de verificação de URLs. Já a CVE-2026-63643 afeta o módulo calendar, permitindo que URLs controladas pelo atacante sejam utilizadas em requisições realizadas pelo próprio servidor.
O que é o Magic Mirror?
O Magic Mirror é uma aplicação de código aberto que transforma qualquer monitor ou TV em um espelho inteligente interativo. Com ele, você pode exibir informações úteis como previsão do tempo, manchetes de notícias, calendário e muito mais, tudo enquanto se olha no espelho. É muito usado para criar espelhos high-tech para banheiros, closets e até mesmo em ambientes comerciais e de varejo.
Link de referência: https://magicmirror.builders/

O que é SSRF?
SSRF (Server-Side Request Forgery) é uma vulnerabilidade que acontece quando uma aplicação permite que o usuário controle uma requisição feita pelo próprio servidor.
Normalmente, o servidor acessa apenas os recursos necessários para o funcionamento da aplicação. Porém, quando existe um SSRF, um atacante pode fazer com que esse servidor realize requisições para outros endereços.
Isso pode permitir o acesso a serviços internos, APIs administrativas ou recursos que não estão expostos diretamente à Internet.
Em resumo, o atacante utiliza o próprio servidor como intermediário para alcançar recursos que, de outra forma, não conseguiria acessar.
Para entender melhor o funcionamento e os impactos dessa vulnerabilidade, recomendamos a leitura do artigo do sobre SSRF, que apresenta uma explicação prática e exemplos de exploração.
Blind Server Side Request Forgery (SSRF) CVE-2026-63642
A função checkArticleUrl(), localizada em newsfeed/node_helper.js, realiza uma requisição HTTP utilizando o método HEAD para a URL fornecida, sem aplicar uma validação adequada ao destino informado.
O comportamento permite que uma URL controlada externamente seja processada pelo servidor do MagicMirror². Como a requisição utiliza o método HEAD, o conteúdo da resposta não é retornado.
Apesar de não expor diretamente o conteúdo do recurso acessado, esse comportamento pode ser utilizado para construir um cenário de SSRF cego (Blind SSRF). Diferenças nas respostas e no tempo de processamento das requisições podem fornecer informações sobre a existência ou disponibilidade de serviços acessíveis a partir do servidor.

Server Side Request Forgery (SSRF) Calendar .js CVE-2026-63643
O handler ADD_CALENDAR, localizado em calendar/node_helper.js, encaminha o payload recebido diretamente para o componente responsável por realizar o fetch do calendário, sem aplicar mecanismos adequados de validação ou restrição da URL de destino.
Esse comportamento cria uma superfície adicional para SSRF, já que o servidor pode realizar requisições para destinos definidos externamente.
Um ponto relevante é a diferença em relação ao endpoint /cors do próprio projeto. Nesse componente, já existem mecanismos de proteção destinados a restringir esse tipo de requisição. A ausência de controles equivalentes no handler ADD_CALENDAR demonstra uma inconsistência na implementação das diferentes funcionalidades que realizam requisições HTTP.

Explorando a vulnerabilidade Blind SSRF CVE-2026-63642.
Dessa forma, foi possível demonstrar a execução de requisições HTTP arbitrárias por meio da funcionalidade vulnerável. A exploração pode ser reproduzida utilizando o exploit apresentado abaixo, que demonstra como uma URL controlada pelo usuário é processada pelo servidor do MagicMirror².
Você pode obter o exploit diretamente neste repositório.

Exploração da vulnerabilidade SSRF CVE-2026-63643.
Neste exemplo, a exploração é realizada por meio de um cliente Socket.IO que estabelece uma conexão com o namespace /calendar do MagicMirror². Após a conexão, o cliente envia a notificação ADD_CALENDAR contendo uma URL controlada pelo atacante.
O código também registra o evento CALENDAR_EVENTS retornado pelo servidor e exibe os dados dos eventos processados pelo módulo calendar. Dessa forma, é possível verificar se a requisição foi realizada pelo servidor e se o conteúdo retornado pelo recurso acessado foi interpretado como um calendário válido.
O exploit utilizado neste artigo está disponível neste repositório.

Divulgação Responsável
As duas vulnerabilidades foram reportadas diretamente ao projeto MagicMirror² por meio do GitHub Security Advisories. Após o período de análise e comunicação com o mantenedor, os problemas foram reconhecidos e publicados oficialmente nos advisories do projeto.
As vulnerabilidades receberam os identificadores CVE-2026-63642 e CVE-2026-63643, referentes, respectivamente, às falhas de Blind SSRF no módulo newsfeed e SSRF no módulo calendar. Ambas afetam a versão 2.36.0 e foram corrigidas na versão 2.37.0 ou posterior.
- CVE-2026-63642: GitHub Security Advisory
- CVE-2026-63643: GitHub Security Advisory
Mitigação
A principal medida de mitigação para as vulnerabilidades de SSRF identificadas no MagicMirror² é atualizar a aplicação para a versão 2.37.0 ou posterior. De acordo com os advisories oficiais, tanto a CVE-2026-63642, relacionada ao módulo newsfeed, quanto a CVE-2026-63643, relacionada ao módulo calendar, afetam a versão 2.36.0 e foram corrigidas a partir da versão 2.37.0.
Exploits utilizados durante a exploração.
Onde praticar?
O Hacking Club é uma plataforma de treinamento voltada para o desenvolvimento de profissionais de cibersegurança. O laboratório Lumen simula um cenário baseado nas vulnerabilidades CVE-2026-63643, CVE-2026-63642, abordada neste artigo e pode ser utilizado para consolidar, na prática, os conhecimentos apresentados.


