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-52886 — Notepad++ CVE-2026-52886 — session.xml backupFilePath starts_with() path traversal (GHSA-rqfm-pw34-r7j6) | Kitploit
Ferramentas/GitHubGitHub/v3s9er/cve-2026-52886
Vulnerability AnalysisExploitationData Exfiltration
GitHubv3s9er/cve-2026-52886

CVE-2026-52886

Notepad++ CVE-2026-52886 — session.xml backupFilePath starts_with() path traversal (GHSA-rqfm-pw34-r7j6)

Ver Repositório
há 6 diasAinda 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

Path Traversal: Bypass da Verificação de Prefixo starts_with()

Notepad++ — Leitura Arbitrária de Arquivos via Traversal de backupFilePath em session.xml

Aviso

  • GHSA: GHSA-rqfm-pw34-r7j6
  • CVE: CVE-2026-52886
  • Gravidade: Moderada
  • Afetado: < v8.9.6.4
  • Corrigido: v8.9.7
  • Commit da Correção: 7e66f36
  • Arquivo Afetado: PowerEditor/src/Notepad_plus.cpp (restauração de sessão — validação de backupFilePath)
  • Plataforma: Windows 11 Pro x64
  • Privilégio Necessário: Usuário padrão (acesso de escrita a session.xml)
  • Pesquisador: v3s9er (RAGE)
  • Divulgado: 2026-06-05

Resumo

O Notepad++ valida o atributo backupFilePath durante a restauração de sessão usando uma comparação de prefixo de string bruta via std::wstring::starts_with(), sem normalizar o caminho primeiro. Um caminho forjado que começa com o prefixo legítimo do diretório de backup, mas contém sequências de traversal ..\, passa na verificação, porém resolve para um local arbitrário quando o SO abre o arquivo — carregando o conteúdo de qualquer arquivo legível em uma aba do editor.

Visão Técnica

Ao iniciar com o modo snapshot (backup) habilitado, o Notepad++ restaura a sessão anterior a partir de session.xml. Espera-se que o backupFilePath de cada entrada esteja dentro do diretório de backup do aplicativo. A verificação de integridade apenas confere se o caminho armazenado começa com a string esperada do diretório de backup. Como a comparação ocorre na string bruta, não normalizada, um atacante adiciona o prefixo legítimo no início e então sai do diretório com sequências ..\.

Causa Raiz

A verificação testa um prefixo textual; o uso abre o caminho resolvido pelo SO. Os dois divergem quando ..\ está presente.

OperaçãoOrigemComportamento
VERIFICAÇÃOString bruta backupFilePathstarts_with(backupDir) — passa quando há correspondência de prefixo
USOCaminho resolvido pelo SOSequências colapsam para um local arbitrário

Cenário de Ataque

Pré-condição: Acesso de escrita a session.xml, modo snapshot/backup habilitado.

Passos:

  1. Sobrescreva session.xml, injetando um backupFilePath forjado: <backupDir>\..\..\..\..\Users\victim\.ssh\id_rsa
  2. O prefixo <backupDir>\ satisfaz starts_with(), então a validação passa.
  3. Inicie o Notepad++ (a restauração de sessão é acionada).
  4. O SO colapsa as sequências ..\; o arquivo alvo é aberto.
  5. O conteúdo do arquivo arbitrário é carregado em uma aba do editor.

Resultado: Exfiltração somente leitura — o conteúdo do arquivo alvo fica visível no editor, incluindo arquivos sensíveis como chaves SSH, arquivos de configuração de ambiente e armazenamentos de credenciais.

Impacto

  • Tipo: Leitura Arbitrária de Arquivos (Path Traversal)
  • Administrador Necessário: Não
  • Prompt UAC: Não
  • Exposição: Chaves privadas SSH, arquivos .env / de configuração, armazenamentos de credenciais — qualquer arquivo legível pelo usuário
  • CWE: CWE-22 (Limitação Incorreta de um Nome de Caminho a um Diretório Restrito)

Prova de Conceito

Requisitos:

  • Notepad++ v8.9.6.2 portátil x64 com configuração de backup/snapshot
  • Acesso de escrita a session.xml
  • Um payload backupFilePath: prefixo do diretório de backup + sequências de traversal ..\ + caminho do arquivo alvo

Injetar o caminho forjado e iniciar o aplicativo carrega o arquivo alvo em uma aba do editor.

Análise do Patch

A correção (commit 7e66f36) realiza a normalização adequada do caminho antes da validação, de modo que as sequências ..\ são colapsadas antes da comparação de prefixo — o caminho verificado e o caminho usado agora estão de acordo.

Referências

  • GHSA-rqfm-pw34-r7j6
  • CVE-2026-52886
  • Commit 7e66f36
  • Lançamento do Notepad++ v8.9.7
Baixar ferramenta
..\