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.

FeedsContatoPrivacidade© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
CVE-2026-92084-beaver-builder-shortcode-poc — Laboratório de validação em Docker e PoC em Python para CVE-2026-92084, uma falha de execução de shortcode sem autenticação no Beaver Builder Lite <= 2.11.0.5, com controle corrigido e tela do nuclei. | Kitploit
Ferramentas/GitHubGitHub/hassham1/cve-2026-92084-beaver-builder-shortcode-poc
Scanners de VulnerabilidadesAnálise de VulnerabilidadesExploraçãoExploração de Aplicações WebSegurança WebLabs e Prática
GitHubhassham1/cve-2026-92084-beaver-builder-shortcode-poc

CVE-2026-92084-beaver-builder-shortcode-poc

Laboratório de validação em Docker e PoC em Python para CVE-2026-92084, uma falha de execução de shortcode sem autenticação no Beaver Builder Lite <= 2.11.0.5, com controle corrigido e tela do nuclei.

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-92084 - Laboratório de Validação de Execução Arbitrária de Shortcode do Beaver Builder

Material de pesquisa de segurança para reproduzir e validar o CVE-2026-92084: Beaver Builder (Lite) <= 2.11.0.5 executa shortcodes arbitrários registrados no WordPress inseridos na saída de widgets renderizada pelo módulo Sidebar, por meio da passagem do_shortcode() de todo o layout do builder.

  • Afetado: Beaver Builder Lite <= 2.11.0.5
  • Corrigido: 2.11.0.6 (o módulo Sidebar define 'renders_shortcodes' => false; o mecanismo de codificação de colchetes em si foi lançado anteriormente e permanece inalterado)
  • CVSS 3.1: 9.1 (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N) - CWE-94
  • Autenticação: nenhuma, mas o comentário do atacante deve passar pelo limite de aprovação de comentários do site (aprovação automática ou ação de moderador) antes que o widget Recent Comments exponha o shortcode inserido

Use apenas em sistemas que você possui ou está explicitamente autorizado a testar. O PoC publica um comentário cujo nome do autor contém um shortcode marcador registrado no laboratório. Nenhum shortcode destrutivo é usado e nada é gravado em disco.

Veredito

Status: comprovado no laboratório fornecido.

Beaver Builder Lite 2.11.0.5 (WordPress 7.1.2, página do builder com um módulo Sidebar

  • widget Recent Comments):
comment posted : author name "[cve92084]" on the builder page
result         : rendered page contains the marker shortcode's server-side
                 output "CVE92084-SHORTCODE-FIRED"
                 (executed by the layout-wide do_shortcode() pass)
2.11.0.6       : brackets entity-encoded, marker absent (patched negative
                 control; page shows the literal text [cve92084])

Isso demonstra a execução no lado do servidor de um shortcode registrado arbitrário com saída incorporada na página, divulgada a todos os visitantes. Isso não demonstra RCE; o impacto depende de quais shortcodes estão registrados no alvo (exposição de post/meta, formulários, shortcodes fornecidos por plugins com efeitos colaterais).

Causa raiz (verificada contra a correção 2.11.0.6)

O sink. FLBuilder::render_content() executa o layout do builder montado por meio de uma ampla passagem de shortcode antes de exibi-lo:

// classes/class-fl-builder.php:2139, Beaver Builder Lite 2.11.0.5
$content = do_shortcode( $content );

O ponto de injeção. O módulo Sidebar renderiza a saída dos widgets de uma barra lateral do WordPress literalmente nesse layout:

// modules/sidebar/includes/frontend.php:4, 2.11.0.5
if ( ! dynamic_sidebar( $settings->sidebar ) ) {

O conteúdo do widget é dado de usuário não confiável - o widget principal Recent Comments ecoa get_comment_author_link(), ou seja, qualquer nome que um comentarista (não autenticado) tenha fornecido. FLBuilder::double_escape_shortcodes() apenas recoloca os colchetes na forma escapada [[x]], portanto um [cve92084] simples passa adiante e a passagem do_shortcode() o executa.

A correção. A 2.11.0.5 já traz o mecanismo de neutralização - FLBuilderModule::$renders_shortcodes = true (class-fl-builder-module.php:143) e FLBuilder::escape_foreign_module_shortcodes() conectado a ambos os filtros de renderização de módulo (class-fl-builder.php:109-110, aplicado em 3240), que codifica como entidades os colchetes de qualquer shortcode registrado na saída do módulo. O módulo Sidebar simplesmente nunca optou por não participar. A única mudança funcional na 2.11.0.6 é a desativação:

// modules/sidebar/sidebar.php, 2.11.0.6
'renders_shortcodes' => false,
// dynamic_sidebar() renders third-party widget output that can contain
// untrusted user data (e.g. a comment author name via the core Recent
// Comments widget); do not run its shortcodes.

Fluxo de exploração (conforme validado)

  1. Direcione qualquer página do construtor cujo layout contenha o módulo Sidebar sobre uma barra lateral que exiba texto de widget controlável pelo atacante (no laboratório: o widget core Recent Comments; em alvos reais, qualquer widget que reflita dados do usuário).
  2. Envie via POST um comentário para /wp-comments-post.php com o payload de shortcode como o nome do autor do comentário.
  3. O comentário passa pelo limite de aprovação do site (o laboratório aprova automaticamente; em alvos reais: aprovação automática ou um moderador) e o widget Recent Comments começa a renderizar o nome do autor.
  4. Na próxima e em todas as renderizações subsequentes da página do construtor, a saída do widget é inserida dentro do layout e a passagem de do_shortcode() executa o payload. Sua saída substitui o nome do autor, visível para todos os visitantes.

Início rápido

Requisitos: Docker com Compose v2, Python 3.10+ no host.

./lab verify

Compila o laboratório 2.11.0.5, exige que o marcador seja acionado e, em seguida, compila o laboratório 2.11.0.6 e exige a sua ausência. Remove tudo com ./lab reset.

Evidência esperada

Controle vulnerável:

[!!!] SHORTCODE EXECUTION CONFIRMED
  posted  : comment author '[cve92084]' on page 5
  evidence: 'CVE92084-SHORTCODE-FIRED' present in the rendered builder page
  context : ...<a href="https://github.com/hassham1/cve-2026-92084-beaver-builder-shortcode-poc/blob/main/..." class="url">CVE92084-SHORTCODE-FIRED</a>...
RESULT: VULNERABLE CONTROL CONFIRMED

Controle corrigido:

[=] shortcode text present but NOT executed: brackets entity-encoded
    (patched >= 2.11.0.6 behavior: escape_foreign_shortcodes).
RESULT: PATCHED CONTROL CONFIRMED

Um marcador na página apenas dentro do comentário exibido (texto bruto) não é aceito como prova; o marcador deve aparecer como a saída executada do shortcode.

Ciclo de vida manual do laboratório

./lab start vulnerable   # 2.11.0.5 lab on http://127.0.0.1:9488
./lab test               # assert marker fires
./lab start patched      # 2.11.0.6 lab
./lab test               # assert absence
./lab status
./lab reset

Execute o PoC manualmente (loopback por padrão; alvos externos autorizados precisam do override explícito):

python3 poc/poc_cve_2026_92084.py --url http://127.0.0.1:9488 --post-id 5
python3 poc/poc_cve_2026_92084.py --url https://target.example \
  --post-id 5 --allow-authorized-non-loopback [--insecure]

O template nuclei (nuclei/cve-2026-92084.yaml) é apenas uma verificação de versão (readme.txt stable tag <= 2.11.0.5). A cadeia comportamental requer o envio de comentário mais uma transição de aprovação, o que não é prático de expressar em nuclei; o PoC em Python executa o fluxo completo.

Versões afetadas e testadas

VersãoAvaliação
Beaver Builder Lite 2.11.0.5Execução de shortcode reproduzida de ponta a ponta
Beaver Builder Lite 2.11.0.6Controle negativo corrigido reproduzido
Beaver Builder Lite <= 2.11.0.4Afetada conforme o advisory; não testada individualmente
Beaver Builder (Pro/Agency)Não testada - o escopo do advisory é o plugin Lite

Estrutura do repositório

.
├── .github/workflows/validate.yml
├── .gitignore
├── LICENSE
├── README.md
├── SECURITY.md
├── docker-compose.yml
├── lab
├── nuclei/
│   └── cve-2026-92084.yaml
├── poc/
│   └── poc_cve_2026_92084.py
└── provision/
    └── install.php

Não versionado: assets/ (zips de plugins), .lab-state, __pycache__/.

Limites de validação

Baixar ferramenta