Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
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.

FeedsContatoPrivacidade© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
CVE-2025-10952-ml-logger-AFR — PoC para CVE-2025-10952 — leitura arbitrária de arquivos não autenticada no ml-logger. CVSS 5.3 | Kitploit
Ferramentas/GitHubGitHub/khashayarnzk/cve-2025-10952-ml-logger-afr
Análise de VulnerabilidadesExploraçãoExploração de Aplicações WebColeta de InformaçõesTestes de Penetração
GitHubkhashayarnzk/cve-2025-10952-ml-logger-afr

CVE-2025-10952-ml-logger-AFR

PoC para CVE-2025-10952 — leitura arbitrária de arquivos não autenticada no ml-logger. CVSS 5.3

Ver Repositório
29há 1 mêsAinda não revisado

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-2025-10952 — Leitura Arbitrária de Arquivos no stream_handler do ml-logger

Este repositório fornece um script Python autônomo — CVE-2025-10952.py — que explora uma vulnerabilidade de leitura arbitrária de arquivos sem autenticação no stream_handler do ml-logger, encadeada com o endpoint /glob para enumeração do sistema de arquivos.

Quando executado contra uma instância vulnerável do ml-logger, ele irá:

  • Enumerar arquivos no host alvo por meio do endpoint /glob (sem autenticação, sem restrição de caminho fora do escopo pretendido).
  • Ler um arquivo arbitrário por meio do endpoint /stream fornecendo um parâmetro key manipulado que escapa da lógica de junção do caminho base do handler.
  • Opcionalmente, salvar o arquivo recuperado em disco para uso posterior (por exemplo, uma chave privada SSH exfiltrada).

Como o stream_handler passa o campo key fornecido pelo cliente diretamente para uma chamada de resolução de caminho e streaming sem verificação de contenção, um atacante de rede não autenticado pode ler qualquer arquivo acessível ao usuário do SO do serviço.

Detalhes da Vulnerabilidade (CVE-2025-10952)

  • Componente: ml_logger/server.py — stream_handler (File Handler)
  • Fraqueza: CWE-200 (Exposição de Informações Sensíveis a um Ator Não Autorizado), CWE-284 (Controle de Acesso Impróprio)
  • CVSS 3.1: 5.3 (Médio) — AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
  • Versões Afetadas: geyang/ml-logger, todas as versões até o commit acf255bade5be6ad88d90735c8367b28cbe3a743 (projeto de lançamento contínuo; nenhuma versão corrigida publicada no momento da divulgação)
  • Acesso Necessário: Nenhum (não autenticado)

O stream_handler aceita um corpo JSON contendo um campo key e o passa diretamente para uma chamada de leitura de arquivo sem sanitização de caminho. O endpoint irmão glob_handler implementa restrições parciais de caminho (bloqueando caminhos absolutos e travessia), mas o stream_handler não compartilha essa validação — uma barra inicial duplicada em key (por exemplo, //root/.ssh/id_rsa) é suficiente para escapar do diretório base pretendido.

Pré-requisitos

  • Python 3.8+
  • Acesso de rede a uma instância vulnerável da API do ml-logger
  • Nenhuma credencial de qualquer tipo

Configuração e Instalação

git clone https://github.com/Khashayarnzk/CVE-2025-10952-ml-logger-AFR.git
cd CVE-2025-10952-ml-logger-AFR
pip install -r requirements.txt

Uso

Enumerar arquivos:

python3 CVE-2025-10952.py --target TARGET --port 8081 --glob "/etc/*"

Ler um arquivo arbitrário:

python3 CVE-2025-10952.py --target TARGET --port 8081 --read "//root/.ssh/id_rsa"

Ler e salvar em disco:

python3 CVE-2025-10952.py --target TARGET --port 8081 --read "//root/.ssh/id_rsa" --out id_rsa_root
chmod 600 id_rsa_root
ssh -i id_rsa_root -o StrictHostKeyChecking=no root@TARGET

--port tem como padrão 8081, a porta padrão da API de arquivos do ml-logger em uma implantação padrão. O frontend do painel é normalmente servido em uma porta separada e não faz parte do caminho vulnerável.

Fluxo do Exploit

  1. Confirme se o endpoint /glob do alvo responde 405 Method Not Allowed com Allow: POST — isso identifica a porta da API em relação ao frontend estático do painel.
  2. Enumere caminhos alcançáveis com --glob para mapear arquivos interessantes (chaves SSH, configurações, armazenamentos de credenciais).
  3. Recupere um arquivo alvo com --read, usando uma barra inicial duplicada para caminhos absolutos.
  4. Se o arquivo for uma chave privada, use-a diretamente para autenticação (veja Uso acima).

Detecção e Mitigação

  • Rede: Alerte sobre campos JSON do tipo key/path contendo .., barras iniciais duplicadas (//) ou prefixos de caminho absoluto (/etc, /root, /proc) direcionados às portas do serviço ml-logger.
  • Host: O monitoramento de integridade de arquivos ou de acesso em ~/.ssh/, /etc/shadow, /etc/passwd deve sinalizar leituras originadas da identidade do processo ml-logger.
  • Exposição: Nunca exponha o ml-logger a uma rede não confiável sem um proxy reverso autenticado na frente dele.
  • Remediação: Aplique contenção de caminho (resolução os.path.realpath() verificada contra um diretório base na lista de permissões) no stream_handler; execute o serviço sob uma conta de SO dedicada e sem privilégios.

Referências

  • NVD: https://nvd.nist.gov/vuln/detail/CVE-2025-10952
  • GitHub Advisory: https://github.com/advisories/GHSA-9x36-c74v-fgr6
  • Relatório original: https://github.com/geyang/ml-logger/issues/74
  • Projeto: https://github.com/geyang/ml-logger

⚠️ Aviso Legal

Este repositório contém um exploit de prova de conceito para CVE-2025-10952, uma vulnerabilidade de divulgação de informações sem autenticação no ml-logger. Use este código apenas em ambientes que você possui ou para os quais tem autorização explícita para testar. O autor não é responsável por qualquer uso indevido ou dano causado por este software.

Licença

Consulte LICENSE.

Baixar ferramenta