Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
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.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
CVE-2026-12793 — Proof-of-Concept-Exploit für CVE-2026-12793, eine nicht authentifizierte Rechteausweitung in WordPress JetFormBuilder bis 3.6.2, die Administrator-Konten erstellt. | Kitploit
Tools/GitHubGitHub/abraxas/cve-2026-12793
Privilege EscalationSchwachstellenanalyseExploitationWebanwendungs-ExploitationWebsicherheitPenetrationstestsLernen & BildungLabs & Praxis
GitHubabraxas/cve-2026-12793

CVE-2026-12793

Proof-of-Concept-Exploit für CVE-2026-12793, eine nicht authentifizierte Rechteausweitung in WordPress JetFormBuilder bis 3.6.2, die Administrator-Konten erstellt.

Repository anzeigen
vor 7h 12mNoch 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

Abraxas Labs — CVE-2026-12793

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  CVE-2026-12793

CVE-2026-12793

JetFormBuilder — Dynamic Blocks Form Builder 3.6.2 — jetmonsters

Das Plugin JetFormBuilder — Dynamic Blocks Form Builder für WordPress ist in allen Versionen bis einschließlich 3.6.2 anfällig für Privilege Escalation. Ursache ist, dass das Plugin nicht validiert, ob eine übermittelte Formular-ID zu einem JetFormBuilder-Formular gehört, bevor es den Inhalt des referenzierten Beitrags als Formularschema parst und einen serverseitigen Callback der erweiterten Validierung ausführt. Dadurch ist es unauthentifizierten Angreifern möglich, ein neues Benutzerkonto mit Administratorrechten zu erstellen.

CVECVE-2026-12793 · CVE.org
CWECWE-269
CVSSKritisch: 9.8 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
ProduktJetFormBuilder — Dynamic Blocks Form Builder
Betroffenalle Versionen bis einschließlich 3.6.2
Gepatcht3.6.2.1 und später
Authkeine (siehe Source Map)
Labnur 127.0.0.1 · Vendor-/Client-Disclosure-Paket, kein Scanner

Advisory (aus der Source Map)

Das Advisory nennt _jet_engine_booking_form_id und Advanced Validation. Dieses POST-Feld ist Form_Handler::$form_key. Der Router-Hook ist NICHT der Source-Default jet_form_builder_submit=submit; es ist der randomisierte gfb_request_args_key/value. PHP-Methodennamen sind nicht HTTP action=. REST validate-field ist die falsche Route auf 3.6.2 (validate_form_post_type läuft bereits).


Einstieg

  • Methode: POST
  • Pfad: /
  • Router: Form_Request_Router lauscht auf REQUEST[hook_key]=hook_val. Diese sind NICHT die Source-Defaults jet_form_builder_submit=submit — Form_Handler::set_jfb_request_args überschreibt sie aus der Option jet_form_builder_settings__options-tab gfb_request_args_key / gfb_request_args_value (zufällige 6+12 Zeichen beim ersten Laden). Ein POST, der weiterhin jet_form_builder_submit=submit sendet, passt nie; WP rendert das Theme-HTML (~80k). Das Form-ID-Feld ist weiterhin _jet_engine_booking_form_id.
  • Hinweise: CVE-2026-12793: set_form_id macht nur absint(). get_blocks_by_post parse_blocks() auf beliebigem Beitrag. Lab-Seed: veröffentlichter Beitrag mit Slug jfb-lab-carrier (post_type=post, NICHT jet-form-builder) mit jet-forms-Feldern + _jf_actions register_user administrator, und einem Absatz JFB_HOOK_KEY=... JFB_HOOK_VAL=..., sodass das randomisierte Router-Paar im öffentlichen REST-Body steht (dieselben Werte, die ein echtes Formular in versteckte Felder schreiben würde). Schritt 1 GET /?rest_route=/wp/v2/posts&slug=jfb-lab-carrier (ID + Hook-Paar). Schritt 2 POST / mit diesem Paar, method=ajax, Formular-ID, login/email/password. REST validate-field nicht verwenden (prüft in 3.6.2 bereits den Typ). Homepage-HTML ist FAIL.

Aufrufkette

  • GET /?rest_route=/wp/v2/posts&slug=jfb-lab-carrier -> id plus JFB_HOOK_KEY / JFB_HOOK_VAL (options-tab gfb_request_args_*)
  • POST / REQUEST[hook_key]=hook_val method=ajax (NOT jet_form_builder_submit=submit)
  • Form_Request_Router::listen (includes/request/request-router.php) uses Form_Handler::$hook_key/$hook_val
  • Form_Handler::process_form -> setup_form -> set_form_id absint only (includes/form-handler.php:150-154, 183-200, 240)
  • send_form: Action_Handler::set_form_id -> set_form_actions from _jf_actions of that post (includes/actions/action-handler.php:71-117)
  • Request_Handler::set_form_data -> Block_Helper::get_blocks_by_post parse_blocks any post (includes/blocks/block-helper.php:186-201; includes/request/request-handler.php:30-33)
  • block-parsers Module::init_request apply those blocks (modules/block-parsers/module.php:101-119)
  • Default_Process_Event runs Register_User_Action::do_action wp_insert_user with settings.user_role (modules/actions-v2/register-user/register-user-action.php:66-215)

Lab-Voraussetzungen

  • WordPress mit aktiviertem jetformbuilder 3.6.2
  • Lab-Seed hat einen regulären Beitrag mit Slug=jfb-lab-carrier veröffentlicht (post_type=post, NICHT jet-form-builder) mit jet-forms/text-field-Blöcken namens login,email,password und _jf_actions register_user role administrator, _jf_args load_nonce=hide
  • ID ermitteln über GET /?rest_route=/wp/v2/posts&slug=jfb-lab-carrier

Nachweis

Das POST-JSON enthält status success und eine numerische user_id. Nachfolgendes GET /?rest_route=/wp/v2/users/<user_id> oder eine spätere Liste, die login poc_12793 mit Rolle administrator enthält. Der eindeutige Login poc_12793 ist der Marker — nicht hello-world-HTML.

Kein Erfolg

  • generisches 200 hello world HTML
  • POST / 200 mit ~80k Theme-HTML (Router-Miss: es wird weiterhin jet_form_builder_submit=submit gesendet)
  • admin-ajax 400 Body 0
  • Invalid form ID / Invalid security signature von /jet-form-builder/v1/validate-field
  • status failed / nonce_failed / csrf_failed
  • Erstellen eines Subscribers statt eines Administrators
  • Verwenden einer echten jet-form-builder-CPT-ID (das ist beabsichtigtes Verhalten, nicht diese CVE)

Patch / Behebung

Zuerst dies tun: Aktualisieren Sie JetFormBuilder — Dynamic Blocks Form Builder auf 3.6.2.1 oder neuer.

Nach dem Upgrade verifizieren

  • CVE-2026-12793-Abraxas-Labs.py erneut gegen den gepatchten Build ausführen: der zugeordnete Nachweis darf nicht erscheinen.
  • Das Vendor-Advisory / Changeset im bereitgestellten Tree bestätigen (siehe Referenzen).
  • Eine WAF-Signatur ist eine Verzögerung, kein Patch.

Wenn Sie nicht sofort aktualisieren können

  • Die betroffene Komponente deaktivieren oder isolieren.
  • In der Produktion nach der Nachweis-Bedingung suchen (neue privilegierte Benutzer, unerwartete Dateien, eingeschleuste Zeilen — was auch immer die Map dieser CVE benennt).

Reproduktion (autorisiertes Lab)

Ziel ausschließlich http://127.0.0.1:8088 (oder das von Ihnen gebundene Loopback). Richten Sie dieses Skript nicht auf das Internet.

root@kitploit:~
python3 CVE-2026-12793-Abraxas-Labs.py

Erfolg ist der obige Nachweis im Response-Body. Generisches 200-HTML ist es nicht.


Referenzen

  • CVE-2026-12793 · NVD

  • CVE-2026-12793 · CVE.org

  • plugins.trac.wordpress.org/changeset/3575346/jetformbuilder

  • www.wordfence.com/threat-intel/vulnerabilities/id/a61b2ecc-d4e1-4e71-9187-ddc3d3616a29?source=cve

  • github.com/advisories/GHSA-579w-q4cr-j8hc

  • nvd.nist.gov/vuln/detail/CVE-2026-12793

  • Plugin-Verzeichnis: jetformbuilder

  • Trac-Browser: plugins.trac.wordpress.org/jetformbuilder

  • SVN-Tags: plugins.svn.wordpress.org/jetformbuilder

  • Abraxas Labs: abraxaslabs.tech · github.com/abraxas · @abraxas_null


Datensätze (strukturiert)

root@kitploit:~
# CVE-2026-12793  (structured records)

- input: `https://nvd.nist.gov/vuln/detail/CVE-2026-12793`
- CWE: CWE-269
- published: 2026-09-16T04:17:56.110

## NVD description

The JetFormBuilder — Dynamic Blocks Form Builder plugin for WordPress is vulnerable to Privilege Escalation in all versions up to, and including, 3.6.2. This is due to the plugin not validating that a submitted form ID belongs to a JetFormBuilder form before parsing the referenced post's content as form schema and executing an Advanced Validation server-side callback. This makes it possible for unauthenticated attackers to create a new administrator-level user account.

## MITRE description

The JetFormBuilder — Dynamic Blocks Form Builder plugin for WordPress is vulnerable to Privilege Escalation in all versions up to, and including, 3.6.2. This is due to the plugin not validating that a submitted form ID belongs to a JetFormBuilder form before parsing the referenced post's content as form schema and executing an Advanced Validation server-side callback. This makes it possible for unauthenticated attackers to create a new administrator-level user account.

## Affected

- jetmonsters JetFormBuilder — Dynamic Blocks Form Builder 0 affected

## References (JSON sources only)

- https://plugins.trac.wordpress.org/changeset/3575346/jetformbuilder
- https://www.wordfence.com/threat-intel/vulnerabilities/id/a61b2ecc-d4e1-4e71-9187-ddc3d3616a29?source=cve
- https://github.com/advisories/GHSA-579w-q4cr-j8hc
- https://nvd.nist.gov/vuln/detail/CVE-2026-12793

## GitHub advisory

The JetFormBuilder — Dynamic Blocks Form Builder plugin for WordPress is vulnerable to Privilege...

The JetFormBuilder — Dynamic Blocks Form Builder plugin for WordPress is vulnerable to Privilege Escalation in all versions up to, and including, 3.6.2. This is due to the plugin not validating that a submitted form ID belongs to a JetFormBuilder form before parsing the referenced post's content as form schema and executing an Advanced Validation server-side callback. This makes it possible for unauthenticated attackers to create a new administrator-level user account.

Haftungsausschluss

Dieses Paket ist für den Vendor, den Seitenbetreiber und lizenzierte Labs. Das Skript kommuniziert mit 127.0.0.1. Die Verwendung gegen Systeme, die Ihnen nicht gehören, ist von Abraxas Labs nicht autorisiert. Keine Gewährleistung.

abraxaslabs.tech · github.com/abraxas · @abraxas_null

Tool herunterladen
  • SSR path (same schema): Server_Side_Rule::validate_custom call_user_func if the field rule value is a PHP function not in NOT_ALLOWED (modules/validation/advanced-rules/server-side-rule.php:187-194)