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-10818 — WPForms Pro <= 1.10.1.1 - Escrita Arbitrária de Arquivos Não Autenticada via Ordenação Init/Finalize de Upload em Partes | Kitploit
Ferramentas/GitHubGitHub/nxploited/cve-2026-10818
Geração de PayloadsAnálise de VulnerabilidadesExploraçãoExploração de Aplicações WebColeta de InformaçõesTestes de Penetração
GitHubnxploited/cve-2026-10818

CVE-2026-10818

WPForms Pro <= 1.10.1.1 - Escrita Arbitrária de Arquivos Não Autenticada via Ordenação Init/Finalize de Upload em Partes

Ver Repositório
32há 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-10818

WPForms Pro <= 1.10.1.1 — Escrita Arbitrária de Arquivos Não Autenticada via Ordenação Init/Finalize de Upload em Chunks

CVE CVSS CWE Python

CVE-2026-10818

WPForms Pro ≤ 1.10.1.1 — Escrita Arbitrária de Arquivos Não Autenticada via Upload em Chunks

Exploit de Prova de Conceito
Ordenação Init/Finalize de Upload em Chunks → Exposição de Caminho Previsível → Execução Remota de Código


Visão Geral da Vulnerabilidade

CampoDetalhe
ID CVECVE-2026-10818
Plugin AfetadoWPForms Pro (WordPress)
Versões AfetadasTodas as versões até 1.10.1.1 inclusive
TipoEscrita Arbitrária de Arquivos Não Autenticada
CWECWE-434: Upload Irrestrito de Arquivo com Tipo Perigoso
CVSS 3.18.1 ALTO — CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
AutenticaçãoNenhuma necessária

O plugin WPForms Pro para WordPress é vulnerável a Upload Arbitrário de Arquivos em todas as versões até, e incluindo, 1.10.1.1, por meio da função ajax_chunk_upload_finalize. Isso ocorre porque a validação do tipo de arquivo acontece depois de os metadados do chunk e o conteúdo do arquivo já terem sido gravados em disco, e o arquivo montado não é excluído quando a validação falha. Isso possibilita que atacantes não autenticados carreguem arquivos que podem ser executáveis, o que viabiliza a execução remota de código.

Causa Raiz

root@kitploit:~
wpforms_upload_chunk_init     →  Metadata created BEFORE extension validation
wpforms_upload_chunk          →  Chunk bytes written regardless of init result
wpforms_file_chunks_uploaded  →  File assembled BEFORE type validation
                              →  File persists on disk even when validation fails

A cadeia de vulnerabilidade explora uma falha crítica de ordenação no ciclo de vida do upload em chunks:

  1. Init cria metadados em disco antes de verificar se a extensão do arquivo é permitida
  2. Chunk carrega os metadados e grava bytes brutos em um caminho previsível (SHA1(UUID)-0.chunk)
  3. Finalize monta o arquivo final antes de validar seu tipo MIME — e não faz a limpeza em caso de falha
  4. Nenhuma verificação de nonce é aplicada em nenhum dos três endpoints AJAX
  5. Todas as três rotas são registradas para visitantes não autenticados (wp_ajax_nopriv_*)

Recursos

  • Varredura multi-alvo — forneça uma lista de alvos, processada de forma concorrente
  • Descoberta automática de formulários — rastreia páginas, sitemaps e mais de 100 caminhos comuns para localizar campos de upload do WPForms
  • Detecção de versão — lê readme.txt e o código-fonte HTML para identificar versões vulneráveis do WPForms
  • Validação de rota AJAX — confirma se wpforms_upload_chunk_init está acessível externamente antes de prosseguir
  • Estratégia dupla de upload:
    • Uploads finalizados (init → chunk → finalize) com extensões seguras e executáveis
    • Uploads somente de chunk (init → chunk, sem finalize) para caminhos de arquivo determinísticos via SHA1(UUID)
  • Cálculo de caminho previsível — calcula SHA1(UUID controlado pelo cliente) para derivar o URL exato do chunk sem adivinhação
  • Diff de listagem de diretório — captura snapshots de /wpforms/tmp/ antes e depois dos uploads de execução para identificar arquivos recém-gravados
  • Extração de vazamento de hash — examina todos os corpos de resposta e cabeçalhos em busca de padrões de nome de arquivo <32hex>.<ext>
  • Verificação de execução — confirma a execução real de PHP verificando uma assinatura única no corpo da resposta, filtrando a entrega de arquivos estáticos e a divulgação de código-fonte
  • Sondagem via PATH_INFO — tenta bypasses de handler do servidor (.chunk/x.php, /.php) para acionar a execução de PHP em extensões não-PHP
  • Payloads poliglotas — gera imagens PNG válidas com PHP embutido após o chunk IEND
  • Saída profissional — exibição de terminal codificada por cores em tempo real com rastreamento de status por alvo

Requisitos

root@kitploit:~
Python >= 3.8
root@kitploit:~
pip install requests urllib3 beautifulsoup4

beautifulsoup4 é opcional, mas recomendado para uma extração mais confiável dos campos de formulário.


Uso

root@kitploit:~
python CVE-2026-10818.py

Você será solicitado a fornecer:

PromptDescriçãoPadrão
Arquivo de alvosCaminho para um arquivo de texto contendo um alvo por linhalist.txt
ThreadsNúmero de workers concorrentes (1–20)5

Formato do Arquivo de Alvos

root@kitploit:~
https://example.com
http://target.org
subdomain.example.net
192.168.1.100
https://example.com/wordpress

Um URL por linha. Suporta http://, https://, domínios sem protocolo, IPs e instalações em subdiretórios.


Saída

Terminal

root@kitploit:~
  ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
  ┃                                                                ┃
  ┃      ██▄    ██  ██  ██                                         ┃
  ┃      ████   ██   ████                                          ┃
  ┃      ██ ██  ██    ██                                           ┃
  ┃      ██  ████   ████                                           ┃
  ┃      ██   ███  ██  ██                                          ┃
  ┃                                                                ┃
  ┃      Nxploited  ━  Khaled Alenazi  ━  T.m @Kxploit             ┃
  ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
  ┃      CVE-2026-10818     WPForms Pro ≤ 1.10.1.1                 ┃
  ┃      Chunked Upload → Predictable Path → RCE                  ┃
  ┃      Results ━▸ Nx_hit/                                        ┃
  ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛

Durante a varredura, cada alvo avança por etapas rotuladas:

root@kitploit:~
  02:14:52  ◆  target.com                        VER  WPForms 1.9.3.1 vulnerable
  02:14:53  ◆  target.com                       FORM  1 upload form(s) on /contact
  02:14:53  ◆  target.com                     UPLOAD  6 safe + 5 exec payloads
  02:14:55  ◆  target.com                        FIN  poly_png → a8f3...1b22.png URL returned
  02:14:57  ◆  target.com                        DIR  listing enabled, 4 file(s) before exec upload
  02:14:59  ◐  target.com                       EXEC  shell_php → finalized on disk (hash unknown)
  02:15:01  ◆  target.com                        DIR  1 NEW exec file(s) after upload!

  ●  target.com  SHELL  dir-new:7c4f...e8a1.php  https://target.com/wp-content/uploads/wpforms/tmp/7c4f...e8a1.php

Arquivos de Resultado

Todos os resultados são salvos em Nx_hit/:

ArquivoConteúdo
Nx_shell.txtRCE confirmada — URL, rótulo e prévia do corpo da resposta
Nx_vuln.txtEscrita arbitrária de arquivos confirmada sem verificação de execução

Resumo

root@kitploit:~
  ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
  ┃  COMPLETE   150 targets processed                              ┃
  ┃                                                                ┃
  ┃  ● 3 shell     ◐ 12 vuln     ○ 85 skip     ✗ 50 miss          ┃
  ┃                                                                ┃
  ┃  Results ━▸ Nx_hit/                                            ┃
  ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
SímboloSignificado
● shellExecução de PHP confirmada no alvo remoto
◐ vulnArquivo gravado em disco, execução não confirmada
○ skipAlvo inacessível, corrigido ou nenhum formulário de upload encontrado
✗ missTentativas de upload falharam

Pipeline de Escaneamento

root@kitploit:~
Target
  │
  ├─ Reachability (HTTPS → HTTP fallback)
  ├─ WPForms Version Detection
  ├─ Form Discovery (100+ page paths + sitemap crawl)
  ├─ AJAX Route Validation
  │
  ├─ Phase 1: Safe Uploads (png/jpg/pdf + finalize → URL)
  │     └─ Shell verification on returned URLs
  │
  ├─ Phase 2: Directory Snapshot (BEFORE)
  │
  ├─ Phase 3: Exec Uploads (php/phtml/php5/phar/shtml + finalize)
  │     ├─ Leaked filename extraction from response
  │     └─ Hash pattern extraction from body + headers
  │
  ├─ Phase 4: Directory Snapshot (AFTER) → Diff → New exec files
  │     └─ Shell verification on each new file
  │
  ├─ Phase 5: Hash Leak Verification
  │     └─ Build URLs from leaked hashes → Shell check
  │
  ├─ Phase 6: Chunk-Only Uploads (no finalize → predictable SHA1 path)
  │     └─ Direct access + PATH_INFO bypass probing
  │
  └─ Result Classification (shell / vuln / skip / miss)

Aviso Legal

Esta ferramenta é fornecida estritamente para testes de segurança autorizados e fins educacionais de pesquisa. Use-a apenas em sistemas que você possui ou para os quais tenha permissão explícita por escrito para testar.

O acesso não autorizado a sistemas de computadores é ilegal. O autor não assume nenhuma responsabilidade por uso indevido, danos ou quaisquer consequências legais decorrentes do uso deste software.

Ao usar esta ferramenta, você concorda que é o único responsável por suas ações e que cumprirá todas as leis e regulamentos aplicáveis.


Por: Nxploited
Khaled Alenazi
T.m @Kxploit

Baixar ferramenta