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-2025-4138_tarfile_filter_bypass — CVE-2025-4138 - Escrita arbitrária de arquivos fora do diretório de extração | Kitploit
Ferramentas/GitHubGitHub/thefizzyfish/cve-2025-4138_tarfile_filter_bypass
Geração de PayloadsAnálise de VulnerabilidadesExploraçãoExploração de Aplicações WebCTFTestes de Penetração
GitHubthefizzyfish/cve-2025-4138_tarfile_filter_bypass

CVE-2025-4138_tarfile_filter_bypass

CVE-2025-4138 - Escrita arbitrária de arquivos fora do diretório de extração

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
Ver Repositório
3há 6 mesesAinda não revisado

CVE-2025-4138 — Python tarfile filter="data" Bypass

Escrita arbitrária de arquivos fora do diretório de extração através de cadeia de symlink PATH_MAX.

Versões Afetadas

  • Python 3.12.0 – 3.12.10
  • Python 3.13.0 – 3.13.3
  • Corrigido em 3.12.11 / 3.13.4

Créditos:

Repórter: Caleb Brown (Google)

Como Funciona

O filtro de dados do tarfile do Python valida destinos de symlink usando os.path.realpath(). Quando o caminho resolvido excede PATH_MAX (4096 bytes no Linux), realpath() para silenciosamente de resolver e anexa componentes restantes — incluindo ../ — como strings literais. O filtro vê um caminho seguro; o kernel segue a travessia real.

O exploit constrói um tar com quatro etapas:

  1. Cadeia de symlink — 16 níveis de diretórios longos (247 caracteres cada) com aliases curtos de symlink (a→ddd..., b→ddd...). Infla o caminho resolvido para ~3968 bytes.
  2. Symlink pivô — ../ × 16 no final da cadeia. realpath() estoura e não consegue resolver. O kernel volta para a raiz da extração.
  3. Symlink de fuga — Roteia através do pivô, até /, e para baixo até o diretório alvo.
  4. Arquivo payload — Escrito através do symlink de fuga para o caminho alvo como root.

Uso

Para adicionar/substituir authorized_keys para o utilizador root

Criar chave SSH em /tmp

root@kitploit:~
ssh-keygen -t ed25519 -f /tmp/key -N ""

Criar arquivo evil.tar

root@kitploit:~
python3 CVE-2025-4138_tarfile_filter_bypass.py \
    -o evil.tar \
    -t /root/.ssh/authorized_keys \
    -p /tmp/key.pub \
    -m 0600
FlagDescrição
-o

Referências

  • NVD — CVE-2025-4138
  • GHSA-hgqp-3mmf-7h8f

Apenas para uso autorizado em testes de segurança e CTF.

Baixar ferramenta
Caminho do tar de saída
-tCaminho absoluto do arquivo a escrever no alvo
-pArquivo local a usar como conteúdo do payload
-mPermissões de arquivo octal (padrão: 0644)