Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
CVE-2026-92084-beaver-builder-shortcode-poc — Docker-Validierungslabor und Python-PoC für CVE-2026-92084, eine nicht authentifizierte Shortcode-Ausführungsschwachstelle in Beaver Builder Lite <= 2.11.0.5, mit gepatchter Kontrolle und Nuclei-Screen. | Kitploit
Tools/GitHubGitHub/hassham1/cve-2026-92084-beaver-builder-shortcode-poc
SchwachstellenscannerSchwachstellenanalyseExploitationWebanwendungs-ExploitationWebsicherheitLabs & Praxis
GitHubhassham1/cve-2026-92084-beaver-builder-shortcode-poc

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

Docker-Validierungslabor und Python-PoC für CVE-2026-92084, eine nicht authentifizierte Shortcode-Ausführungsschwachstelle in Beaver Builder Lite <= 2.11.0.5, mit gepatchter Kontrolle und Nuclei-Screen.

Repository anzeigen
vor 1 MonatNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

CVE-2026-92084 – Beaver Builder Validierungslabor für beliebige Shortcode-Ausführung

Sicherheitsforschungsmaterial zur Reproduktion und Validierung von CVE-2026-92084: Beaver Builder (Lite) <= 2.11.0.5 führt beliebige registrierte WordPress- Shortcodes aus, die in der Widget-Ausgabe platziert wurden, die vom Sidebar-Modul gerendert wird, und zwar über den layoutweiten do_shortcode()-Durchlauf des Builders.

  • Betroffen: Beaver Builder Lite <= 2.11.0.5
  • Behoben: 2.11.0.6 (Sidebar-Modul setzt 'renders_shortcodes' => false; die Mechanik zur Klammer-Kodierung selbst wurde früher eingeführt und ist unverändert)
  • CVSS 3.1: 9.1 (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N) – CWE-94
  • Authentifizierung: keine, aber der Kommentar des Angreifers muss die Kommentar- Freigabeschwelle der Website passieren (automatische Freigabe oder Moderator-Aktion), bevor das Recent- Comments-Widget den platzierten Shortcode preisgibt

Nur auf Systemen verwenden, die Sie besitzen oder für die Sie ausdrücklich autorisiert sind zu testen. Der PoC veröffentlicht einen Kommentar, dessen Autorenname einen im Labor registrierten Marker- Shortcode enthält. Es wird kein destruktiver Shortcode verwendet und nichts auf die Festplatte geschrieben.

Urteil

Status: im bereitgestellten Labor nachgewiesen.

Beaver Builder Lite 2.11.0.5 (WordPress 7.1.2, Builder-Seite mit einem Sidebar- Modul + Recent Comments-Widget):

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])

Dies demonstriert die serverseitige Ausführung eines beliebigen registrierten Shortcodes mit in die Seite eingebetteter Ausgabe, die jedem Besucher offengelegt wird. Es demonstriert keine RCE; die Auswirkung hängt davon ab, welche Shortcodes auf dem Ziel registriert sind (Post-/Meta-Offenlegung, Formulare, pluginbereitgestellte Shortcodes mit Nebenwirkungen).

Grundursache (verifiziert gegen den Fix in 2.11.0.6)

Die Senke. FLBuilder::render_content() führt das zusammengesetzte Builder-Layout durch einen breiten Shortcode-Durchlauf, bevor es ausgegeben wird:

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

Der Injektionspunkt. Das Sidebar-Modul rendert die Widget-Ausgabe einer WordPress-Sidebar unverändert in dieses Layout:

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

Widget-Inhalte sind nicht vertrauenswürdige Benutzerdaten – das zentrale Recent Comments-Widget gibt get_comment_author_link() aus, also den Namen, den ein (nicht authentifizierter) Kommentator angegeben hat. FLBuilder::double_escape_shortcodes() setzt lediglich die [[x]]-Escape-Form wieder in Klammern, sodass ein einfaches [cve92084] durchgelassen wird und der do_shortcode()-Durchlauf es ausführt.

Die Korrektur. 2.11.0.5 enthält bereits die Neutralisierungsmechanismen – FLBuilderModule::$renders_shortcodes = true (class-fl-builder-module.php:143) und FLBuilder::escape_foreign_module_shortcodes(), das an beide Modul-Render-Filter angehängt ist (class-fl-builder.php:109-110, angewendet bei 3240) und die Klammern jedes registrierten Shortcodes in der Modulausgabe entity-kodiert. Das Sidebar-Modul hat schlicht nie widersprochen. Die einzige funktionale Änderung in 2.11.0.6 ist der Widerspruch:

// 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.

Ausnutzungsablauf (wie validiert)

  1. Ziel ist eine beliebige Builder-Seite, deren Layout das Sidebar-Modul über einer Sidebar enthält, die angreiferkontrollierbaren Widget-Text anzeigt (im Lab: das Core- Recent-Comments-Widget; bei echten Zielen jedes Widget, das Benutzerdaten wiedergibt).
  2. Sende einen Kommentar per POST an /wp-comments-post.php mit der Shortcode-Payload als Namen des Kommentarautors.
  3. Der Kommentar besteht die Freigabeschwelle der Website (im Lab automatische Freigabe; bei echten Zielen: automatische Freigabe oder ein Moderator), und das Recent-Comments- Widget beginnt, den Autorennamen zu rendern.
  4. Beim nächsten und jedem weiteren Rendern der Builder-Seite landet die Widget- Ausgabe innerhalb des Layouts, und der do_shortcode()-Durchlauf führt die Payload aus. Deren Ausgabe ersetzt den Autorennamen und ist für jeden Besucher sichtbar.

Schnellstart

Voraussetzungen: Docker mit Compose v2, Python 3.10+ auf dem Host.

./lab verify

Erstellt das 2.11.0.5-Lab, erfordert, dass der Marker ausgelöst wird, und erstellt dann das 2.11.0.6-Lab und erfordert dessen Abwesenheit. Alles mit ./lab reset entfernen.

Erwartete Nachweise

Anfällige Kontrolle:

[!!!] 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

Bereinigte Steuerung:

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

Ein Marker auf der Seite, der nur innerhalb des angezeigten Kommentars (Rohtext) erscheint, wird nicht als Nachweis akzeptiert; der Marker muss als die ausgeführte Ausgabe des Shortcodes erscheinen.

Manueller Lab-Lebenszyklus

./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

Führen Sie das PoC manuell aus (Loopback als Standard; autorisierte externe Ziele erfordern die explizite Überschreibung):

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]

Die nuclei-Vorlage (nuclei/cve-2026-92084.yaml) ist nur ein Versions-Screen (readme.txt stable tag <= 2.11.0.5). Die Verhaltenskette erfordert eine Kommentar- Einreichung plus einen Genehmigungsübergang, was sich in nuclei nicht praktikabel ausdrücken lässt; der Python-PoC führt den vollständigen Ablauf aus.

Betroffene und getestete Versionen

VersionBewertung
Beaver Builder Lite 2.11.0.5Shortcode-Ausführung von Anfang bis Ende reproduziert
Beaver Builder Lite 2.11.0.6Gepatchte Negativkontrolle reproduziert
Beaver Builder Lite <= 2.11.0.4Laut Advisory betroffen; nicht einzeln getestet
Beaver Builder (Pro/Agency)Nicht getestet – der Geltungsbereich des Advisories ist das Lite-Plugin

Repository-Struktur

.
├── .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

Nicht eingecheckt: assets/ (Plugin-Zips), .lab-state, __pycache__/.

Validierungsgrenzen

Tool herunterladen