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
Ferramentas/GitHubGitHub/34zy/cve-2025-14177
Geração de PayloadsAnálise de VulnerabilidadesExploraçãoSegurança WebTestes de PenetraçãoExploração de Binários
GitHub34zy/cve-2025-14177

CVE-2025-14177

PHP getimagesize() CVE-2025-14177 - Gerador de Exploit de Vazamento de Memória Heap Cadeia de exploit totalmente funcional em Python

Ver Repositório
1há 3 mesesAinda 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-14177 — Vazamento de Memória Heap do PHP getimagesize()

Apenas para testes de penetração autorizados e pesquisa de segurança.

Vulnerabilidade

CampoValor
CVECVE-2025-14177
CWECWE-524 (Uso de Recurso Não Inicializado)
SeveridadeMODERATE — CVSS 6.3
Causa raizphp_read_stream_all_chunks() escreve blocos sucessivos em buffer[0], sobrescrevendo dados anteriores com memória heap não inicializada

Versões afetadas

  • PHP < 8.1.34
  • PHP < 8.2.30
  • PHP < 8.3.29
  • PHP < 8.4.16
  • PHP < 8.5.1

Corrigido em

  • PHP 8.1.34 / 8.2.30 / 8.3.29 / 8.4.16 / 8.5.1

Mecânica do bug

root@kitploit:~
getimagesize("php://filter/.../resource=malicious.jpg", $info)
    └─ php_read_stream_all_chunks()
        ├─ Chunk 1 (8KB) → memcpy(buffer+0, chunk1, 8192)
        ├─ Chunk 2 (8KB) → memcpy(buffer+0, chunk2, 8192)  ← overwrites!
        └─ $info['APP1'] = chunk2 + uninitialized heap garbage

Um JPEG malicioso carrega um marcador APP1 superdimensionado (16KB) para forçar o caminho de leitura de múltiplos blocos. O campo APP1 retornado vaza memória heap que pode conter credenciais, tokens, dados de sessão ou ponteiros ASLR.


Fluxo de ataque

root@kitploit:~
[1] RECON      Find PHP app exposing getimagesize() output (APP1 field)
[2] PREP       Craft malicious.jpg (APP1 = 16KB)
[3] EXPLOIT    Upload → trigger getimagesize($file, $info)
[4] EXTRACT    Parse $info['APP1'] for leaked heap data
[5] IMPACT     Credential theft / token extraction / ASLR bypass

Uso

root@kitploit:~
python3 CVE-2025-14177.py [mode]
ModoAção
demoDemonstração completa do exploit (padrão)
genGerar JPEG malicioso + código de exploit PHP
testGerar JSON de caso de teste
analyzeGerar JPEG + simular + analisar vazamento
flowImprimir diagrama de fluxo de ataque

Saída (./exploit_output/)

root@kitploit:~
exploit_output/
├── malicious.jpg          # crafted JPEG payload (APP1 = 16KB)
├── exploit_standalone.php # deployable PHP exploit
├── exploit_report.json    # full analysis report
└── test_cases.json        # 3 test scenarios

Cenários de teste

CasoVetor
1Upload direto → getimagesize($_FILES[...], $info)
2Filtro de fluxo + LFI (php://filter/read=.../resource=...)
3URL de imagem remota (/preview.php?url=attacker.com/malicious.jpg)

Detecção

  • Marcadores APP1 grandes em uploads JPEG (> 8192 bytes)
  • Padrões de memória incomuns no array $info
  • Chamadas repetidas de getimagesize() com wrappers php://filter
  • Exfiltração de dados codificados em hex nas respostas

Remediação

Atualize o PHP para a versão corrigida. Nenhuma solução alternativa — patch necessário.

root@kitploit:~
php -v  # verify version

Se a atualização estiver bloqueada: remova APP1 de $info antes de retornar ao cliente, ou desabilite php://filter em allow_url_fopen.


Aviso Legal

Esta ferramenta é apenas para testes de segurança autorizados. O uso não autorizado contra sistemas que você não possui ou para os quais não possui permissão explícita por escrito para testar é ilegal.

Baixar ferramenta