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-40987 — CVE-2026-40987 PoC | Kitploit
Ferramentas/GitHubGitHub/daehyuh/cve-2026-40987
Análise de VulnerabilidadesExploraçãoExploração de Aplicações WebTestes de PenetraçãoPapers e PesquisaAprendizado e Educação
GitHubdaehyuh/cve-2026-40987

CVE-2026-40987

CVE-2026-40987 PoC

Ver Repositório
há 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-2026-40987: PoC de Path Traversal na Sincronização Remota de Arquivos do Spring Integration

Este repositório é um PoC mínimo de reprodução do CVE-2026-40987, divulgado pelo comunicado oficial de segurança do Spring.

  • Comunicado oficial: https://spring.io/security/cve-2026-40987/
  • Título oficial: Remote-file synchronizer in Spring Integration writes server-supplied filename under localDirectory without canonicalization
  • Gravidade: High
  • CVSS v3.1: AV:N/AC:H/PR:L/UI:R/S:C/C:L/I:H/A:L
  • Data de divulgação: 2026-06-10

Resumo da vulnerabilidade

O sincronizador remoto de arquivos do Spring Integration podia usar o nome de arquivo fornecido pelo servidor remoto diretamente ao criar o caminho de armazenamento local. Se a validação do caminho canônico não fosse suficiente, um servidor FTP/SFTP/SMB malicioso ou comprometido poderia retornar um nome de arquivo como ../escaped-by-ftp-list.txt, fazendo com que o arquivo fosse escrito fora do localDirectory configurado.

De acordo com o comunicado oficial, não é um problema apenas do FTP, mas sim de toda a família de sincronizadores remotos de arquivos FTP/SFTP/SMB do Spring Integration. Este PoC utiliza o FtpInboundFileSynchronizer para reproduzir o mesmo vetor de vulnerabilidade da forma mais pequena e clara possível.

Escopo de impacto

Produtos afetados conforme comunicado oficial:

  • Spring Integration

Versões afetadas:

  • 7.0.0 - 7.0.4
  • 6.5.0 - 6.5.8
  • 6.4.0 - 6.4.11
  • 6.3.0 - 6.3.14
  • 5.5.0 - 5.5.20
  • Versões anteriores não suportadas também podem ser afetadas

Versões corrigidas:

  • 7.0.5 ou 7.0.4.1
  • 6.5.9 ou 6.5.8.1
  • 6.4.12
  • 6.3.15
  • 5.5.21

O que este PoC demonstra

Os testes demonstram dois caminhos.

  1. SpringIntegrationRemoteFilePathTraversalTest

    • Reproduz diretamente o caminho do sincronizador remoto de arquivos comum do Spring Integration.
    • Verifica se, quando o nome do arquivo remoto é ../escaped-by-spring-integration.txt, o caminho do arquivo é criado fora do diretório local configurado.
  2. SpringIntegrationFtpPathTraversalTest

    • Executa um pequeno servidor FTP malicioso dentro do teste.
    • Coloca ../escaped-by-ftp-list.txt na resposta LIST do servidor FTP.
    • O FtpInboundFileSynchronizer real do Spring Integration recebe este nome de arquivo, baixa incoming/../escaped-by-ftp-list.txt, e verifica que o arquivo resultante é criado fora do diretório downloads.

O fluxo central do PoC é o seguinte:

root@kitploit:~
configured localDirectory = <temp>/downloads
remote LIST filename      = ../escaped-by-ftp-list.txt
resulting local path      = <temp>/downloads/../escaped-by-ftp-list.txt
normalized location       = <temp>/escaped-by-ftp-list.txt

Ou seja, é possível escrever arquivos fora do diretório de download pretendido pela aplicação.

Como executar

Windows:

root@kitploit:~
.\mvnw.cmd test

macOS/Linux:

root@kitploit:~
./mvnw test

Resultado esperado em versões vulneráveis:

root@kitploit:~
Tests run: 3, Failures: 0, Errors: 0, Skipped: 0
BUILD SUCCESS

O sucesso do teste significa que "o comportamento vulnerável foi reproduzido". Ou seja, com dependências vulneráveis, o teste passa, demonstrando a escrita de escape de diretório.

Versões verificadas localmente

Você pode verificar várias versões vulneráveis com os seguintes comandos:

root@kitploit:~
.\mvnw.cmd "-Dspring-integration.version=6.4.10" test
.\mvnw.cmd "-Dspring-integration.version=6.5.8" test
.\mvnw.cmd "-Dspring-integration.version=7.0.4" test
.\mvnw.cmd "-Dspring-integration.version=7.1.0-RC1" test

O padrão deste repositório é spring-integration.version=7.0.4.

Por que é perigoso

Esta vulnerabilidade permite que um atacante escreva conteúdo controlado pelo atacante no sistema de arquivos local da aplicação cliente. O atacante não é um cliente HTTP comum; ele precisa ser capaz de manipular as respostas de um servidor de arquivos remoto que a aplicação confia e consulta periodicamente.

Portanto, pré-condições existem, mas se as condições forem atendidas, os seguintes impactos são possíveis:

  • Criação ou substituição de arquivos dentro do diretório de trabalho da aplicação
  • Colocação de arquivos controlados pelo atacante no diretório de entrada em lote, raiz web, diretório temporário, etc.
  • Maior impacto na integridade se combinado com pipelines de processamento subsequentes

O comunicado oficial avaliou este problema como High.

Crédito

O comunicado oficial do Spring lista os seguintes pesquisadores como tendo reportado responsavelmente:

  • M0untainShley
  • SharlongWen
  • daehyuh

Links de referência

  • Comunicado oficial do Spring: https://spring.io/security/cve-2026-40987/
  • Calculadora CVSS: https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator?vector=AV:N/AC:H/PR:L/UI:R/S:C/C:L/I:H/A:L&version=3.1
Baixar ferramenta