Skip to content
KitploitKITPLOIT
उपकरणएक्सप्लॉइटब्लॉग
Log in
जमा करें
उपकरणएक्सप्लॉइटब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

फ़ीडसंपर्कगोपनीयता© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2026-12793 — Proof-of-concept exploit for CVE-2026-12793, an unauthenticated privilege escalation in WordPress JetFormBuilder up to 3.6.2 that creates administrator accounts. | Kitploit
उपकरण/GitHubGitHub/abraxas/cve-2026-12793
Privilege EscalationVulnerability AnalysisExploitationWeb Application ExploitationWeb SecurityPenetration TestingLearning & EducationLabs & Practice
GitHubabraxas/cve-2026-12793

CVE-2026-12793

Proof-of-concept exploit for CVE-2026-12793, an unauthenticated privilege escalation in WordPress JetFormBuilder up to 3.6.2 that creates administrator accounts.

3118 दिन पहलेअभी तक समीक्षित नहीं

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें
रिपॉजिटरी देखें
अनुरोधित भाषा में सामग्री उपलब्ध नहीं है। अंग्रेज़ी संस्करण दिखाया जा रहा है।

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

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.

CVECVE-2026-12793 · CVE.org
CWECWE-269
CVSSCritical: 9.8 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
ProductJetFormBuilder — Dynamic Blocks Form Builder
Affectedall versions through 3.6.2 (inclusive)
Patched3.6.2.1 and later
Authnone (see source map)
Lab127.0.0.1 only · vendor/client disclosure pack, not a scanner

Advisory (from the source map)

The advisory names _jet_engine_booking_form_id and Advanced Validation. That POST field is Form_Handler::$form_key. The router hook is NOT the source default jet_form_builder_submit=submit; it is the randomized gfb_request_args_key/value. PHP method names are not HTTP action=. REST validate-field is the wrong route on 3.6.2 (validate_form_post_type already runs).


Entry

  • Method: POST
  • Path: /
  • Router: Form_Request_Router listens for REQUEST[hook_key]=hook_val. Those are NOT the source defaults jet_form_builder_submit=submit — Form_Handler::set_jfb_request_args overwrites them from option jet_form_builder_settings__options-tab gfb_request_args_key / gfb_request_args_value (random 6+12 chars on first load). A POST that still sends jet_form_builder_submit=submit never matches; WP renders the theme HTML (~80k). Form id field is still _jet_engine_booking_form_id.
  • Notes: CVE-2026-12793: set_form_id only absint()s. get_blocks_by_post parse_blocks() any post. Lab seed: published post slug jfb-lab-carrier (post_type=post, NOT jet-form-builder) with jet-forms fields + _jf_actions register_user administrator, and a paragraph JFB_HOOK_KEY=... JFB_HOOK_VAL=... so the randomized router pair is in the public REST body (same values a real form would put in hidden fields). Step 1 GET /?rest_route=/wp/v2/posts&slug=jfb-lab-carrier (id + hook pair). Step 2 POST / with that pair, method=ajax, form id, login/email/password. Do not use REST validate-field (already type-checks in 3.6.2). Homepage HTML is FAIL.

Call chain

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

Lab preconditions

  • WordPress with jetformbuilder 3.6.2 activated
  • Lab seed published a regular post slug=jfb-lab-carrier (post_type=post, NOT jet-form-builder) with jet-forms/text-field blocks named login,email,password and _jf_actions register_user role administrator, _jf_args load_nonce=hide
  • Discover id via GET /?rest_route=/wp/v2/posts&slug=jfb-lab-carrier

Witness

POST JSON contains status success and a numeric user_id. Follow-up GET /?rest_route=/wp/v2/users/<user_id> or a later list that includes login poc_12793 with role administrator. Unique login poc_12793 is the marker — not hello-world HTML.

Not success

  • generic 200 hello world HTML
  • POST / 200 with ~80k theme HTML (router miss: still sending jet_form_builder_submit=submit)
  • admin-ajax 400 body 0
  • Invalid form ID / Invalid security signature from /jet-form-builder/v1/validate-field
  • status failed / nonce_failed / csrf_failed
  • creating a subscriber instead of administrator
  • using a real jet-form-builder CPT id (that is intended behavior, not this CVE)

Patch / remediation

Do this first: Update JetFormBuilder — Dynamic Blocks Form Builder to 3.6.2.1 or newer.

Verify after upgrade

  • Re-run CVE-2026-12793-Abraxas-Labs.py against the patched build: the mapped witness must not appear.
  • Confirm the vendor advisory / changeset in the deployed tree (see references).
  • A WAF signature is delay, not a patch.

If you cannot update immediately

  • Disable or isolate the affected component.
  • Hunt for the witness condition on production (new privileged users, unexpected files, injected rows — whatever this CVE's map names).

Reproduction (authorized lab)

Target only http://127.0.0.1:8088 (or the loopback you bound). Do not point this script at the internet.

python3 CVE-2026-12793-Abraxas-Labs.py

Success is the witness above in the response body. Generic 200 HTML is not it.


Lab images

Loopback stack used to reproduce. Official images unless a Dockerfile in this folder builds from source.

  • lab/docker-compose.yml
  • lab/docker-compose.override.yml
  • lab/Dockerfile
cd lab
docker compose up --force-recreate

Bind the vulnerable product tree next to Compose if the YAML mounts a local directory (plugin zip / source tag from the version table). Publish nothing except 127.0.0.1.


References

  • 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
टूल डाउनलोड करें