
cPanel/WHM प्रमाणीकरण बाईपास का तकनीकी विश्लेषण
रक्षक-केंद्रित तकनीकी गहराई से समझना
| क्षेत्र | मान |
|---|---|
| CVE ID | CVE-2026-41940 |
| CVSS v3.1 | 9.8 (गंभीर) — नेटवर्क / निम्न जटिलता / कोई विशेषाधिकार नहीं / कोई उपयोगकर्ता इंटरैक्शन नहीं |
| भेद्यता वर्ग | पूर्व-प्रमाणीकरण CRLF इंजेक्शन → सत्र-फ़ाइल विषाक्तीकरण → प्रमाणीकरण बायपास |
| CWE | CWE-93 (CRLF अनुक्रमों का अनुचित न्यूट्रलाइज़ेशन), संभवतः CWE-117 (लॉग्स/फ़ाइलों के लिए अनुचित आउटपुट न्यूट्रलाइज़ेशन) के करीब, क्योंकि इंजेक्ट किए गए CRLF HTTP प्रतिक्रिया हेडर के बजाय डिस्क पर सत्र फ़ाइल में पहुँचता है |
| प्रभावित उत्पाद | cPanel, WHM (वेबहोस्ट मैनेजर), WP Squared |
| प्रभाव | बिना प्रमाणीकरण के, WHM में पूर्ण विशेषाधिकार प्राप्त रूट प्रशासनिक सत्र की दूरस्थ प्राप्ति |
| प्रकटीकरण दिनांक | 28 अप्रैल, 2026 (cPanel सुरक्षा सलाहकार) |
| CVE असाइनमेंट | 29 अप्रैल, 2026 |
| जंगली में शोषण | होस्टिंग प्रदाता KnownHost के अनुसार 23 फरवरी, 2026 से ही देखा गया — पैच शिप होने से लगभग दो महीने पहले |
| CISA KEV | प्रकटीकरण के तुरंत बाद जोड़ा गया |
| अनुमानित एक्सपोज़र | ~1.5 मिलियन इंटरनेट-फ़ेसिंग cPanel इंस्टेंस (Rapid7 द्वारा उद्धृत Shodan टेलीमेट्री); cPanel का वेब कंट्रोल-पैनल बाजार में अनुमानित 94% हिस्सा (W3Techs) है |
| कार्य-समाधान | कोई नहीं — एकमात्र पूर्ण उपचार पैचिंग है |
cPanel और WHM साझा और पुनर्विक्रेता वेब होस्टिंग के लिए प्रमुख नियंत्रण-पैनल सॉफ्टवेयर है। cPanel ग्राहक-मुखी खाता इंटरफ़ेस है; WHM होस्टिंग प्रदाताओं और सर्वर मालिकों द्वारा उपयोग किया जाने वाला रूट-स्तरीय प्रशासनिक इंटरफ़ेस है। दोनों एक ही Perl डेमॉन, cpsrvd द्वारा प्रदान किए जाते हैं, जो प्रत्येक सतह के लिए युग्मित पोर्ट पर सुनता है (cPanel: 2082/2083, WHM: 2086/2087, वेबमेल: 2095/2096)।
CVE-2026-41940 एक हमलावर को बिना किसी क्रेडेंशियल के प्रमाणीकरण होने से पहले डिस्क पर सत्र की स्थिति में हेरफेर करने की अनुमति देता है, जिससे cpsrvd बाद में हमलावर द्वारा प्रदान किए गए डेटा को वैध, पूर्णतः प्रमाणित, रूट-विशेषाधिकार प्राप्त सत्र विशेषताओं के रूप में पुनर्व्याख्यायित करता है। परिणाम बॉक्स पर होस्ट की गई प्रत्येक वेबसाइट और खाते के प्रबंधन तल का पूर्ण समझौता है — यह एकल-किरायेदार मुद्दा नहीं, बल्कि होस्ट-व्यापी, प्रदाता-व्यापी, और कुल मिलाकर उद्योग-व्यापी मुद्दा है, cPanel की बाजार एकाग्रता को देखते हुए।
9.8 का CVSS स्कोर इतना सामान्य है कि इसे पढ़ते हुए बेहोशी आ सकती है। तीन संरचनात्मक कारक CVE-2026-41940 को व्यवहार में असामान्य रूप से गंभीर बनाते हैं:
विस्फोट त्रिज्या पूरे सर्वर की है, किसी खाते की नहीं। WHM समझौता रूट समझौता है। उस सर्वर पर हर ग्राहक खाता, हर डेटाबेस, हर TLS निजी कुंजी, हर बैकअप, और हर DNS ज़ोन तुरंत दायरे में आ जाता है।
यह लगभग दो महीने तक एक वास्तविक जीरो-डे था। KnownHost के टेलीमेट्री के अनुसार प्रारंभिक शोषण लगभग 23 फरवरी, 2026 से शुरू हुआ, जो 28 अप्रैल के पैच से काफी पहले है। कोई भी संगठन जो उस अवधि के दौरान इंटरनेट-एक्सपोज़्ड था, उसे समझौता संभावित मानना चाहिए, न कि केवल सैद्धांतिक, और उसे पूर्वव्यापी समझौता आकलन करना चाहिए न कि "हमने पैच कर लिया, इसलिए हम सुरक्षित हैं" पर निर्भर रहना चाहिए।
अधिकांश प्रभावित संगठन स्वयं इसे पैच नहीं कर सकते। cPanel आमतौर पर होस्टिंग प्रदाताओं द्वारा किरायेदारों की ओर से तैनात किया जाता है। अंतिम ग्राहकों का फिक्स पर कोई कोड-स्तरीय नियंत्रण नहीं होता और वे पूरी तरह से अपने प्रदाता की पैच गति पर निर्भर होते हैं — यही कारण है कि कई प्रमुख होस्ट (Namecheap, KnownHost, HostPapa, InMotion) ने हर किरायेदार के अपडेट करने की प्रतीक्षा करने के बजाय प्रभावित पोर्ट पर इनबाउंड ट्रैफ़िक को पूर्व-प्रतिबंधित करना चुना।
यह तीसरा बिंदु ध्यान देने योग्य है। cPanel का नियंत्रण-पैनल बाजार में अनुमानित 94% हिस्सा है। एक विक्रेता के सत्र-हैंडलिंग कोड में एक एकल तर्क दोष, कुछ हफ्तों की अवधि के लिए, एक वास्तविक उद्योग-व्यापी रूट-एक्सेस भेद्यता बन गया। यह एकाग्रता जोखिम एक आवर्ती विषय है जिसे इस विशिष्ट CVE से स्वतंत्र रूप से आत्मसात किया जाना चाहिए।
cpsrvd एक लंबे समय तक चलने वाला Perl डेमॉन है जो तीनों cPanel उत्पाद सतहों को एक ही बाइनरी और, महत्वपूर्ण रूप से, एक ही सत्र-हैंडलिंग कोड पथ से प्रदान करता है:
| पोर्ट युग्म | सतह | दर्शक |
|---|---|---|
| 2082 / 2083 | cPanel | अंतिम ग्राहक (प्रति-खाता) |
| 2086 / 2087 | WHM | रूट/पुनर्विक्रेता प्रशासक |
| 2095 / 2096 | वेबमेल | ईमेल उपयोगकर्ता |
चूंकि तीनों सतहें कमजोर सत्र तर्क साझा करती हैं, इन छह पोर्टों में से किसी एक का एक्सपोज़र शोषण के लिए पर्याप्त है — उनमें कोई भी अर्थपूर्ण रूप से "कम एक्सपोज़्ड" सतह नहीं है। अच्छी तरह से विभाजित वातावरणों में, इनमें से कोई भी पोर्ट सीधे इंटरनेट-पहुंच योग्य नहीं होना चाहिए; व्यवहार में, प्रबंधन सुविधा, हाइब्रिड होस्टिंग व्यवस्थाएं, और फ़ायरवॉल बहाव का मतलब है कि कई थे।
cPanel सत्र दो समानांतर ऑन-डिस्क प्रतिनिधित्व में बने रहते हैं, जाहिरा तौर पर प्रदर्शन कारणों से:
/var/cpanel/sessions/raw/<session-id>) — एक पंक्ति-उन्मुख, सादा-पाठ key=value प्रारूप, प्रति पंक्ति एक गुण।/var/cpanel/sessions/cache/<session-id>, अवधारणात्मक रूप से) — एक संरचित JSON दस्तावेज़, जिसे सामान्य अनुरोध पथ द्वारा प्राथमिकता से पढ़ा जाता है क्योंकि इसे पार्स करना सस्ता है।सामान्य संचालन के तहत, JSON कैश आधिकारिक होता है और रॉ फ़ाइल एक स्थायित्व बैकस्टॉप है। भेद्यता ठीक इसलिए मौजूद है क्योंकि ऐसी परिस्थितियाँ हैं जिनके तहत रॉ फ़ाइल को पुनः पार्स किया जाता है और JSON कैश को पुनर्जीवित करने के लिए उपयोग किया जाता है, और दोनों प्रारूप इस बात पर असहमत हैं कि एक एम्बेडेड न्यूलाइन वर्ण का क्या अर्थ है।
CVE-2026-41940 एक एकल गलती नहीं है। यह चार अलग-अलग कमजोरियों का उत्पाद है, जिनमें से प्रत्येक व्यक्तिगत रूप से एक पृथक डिज़ाइन निर्णय के रूप में प्रशंसनीय है, जो एक पूर्ण प्रमाणीकरण बायपास उत्पन्न करने के लिए संरेखित होते हैं। यह "स्विस चीज़" संरचना रक्षकों और कोड समीक्षकों के लिए इस विशिष्ट उत्पाद से परे शिक्षाप्रद है।
cPanel के सत्र सबसिस्टम में पहले से ही एक स्वच्छता दिनचर्या थी जो सत्र मानों से खतरनाक वर्णों — कैरिज रिटर्न, लाइन फीड, और = — को हटाने के लिए जिम्मेदार थी। समस्या यह है कि उस दिनचर्या को कहाँ से आहूत किया गया था: यह उच्च-स्तरीय रैपर फ़ंक्शन (सत्र "बनाएँ"/"संशोधित करें" API) के अंदर रहता था, और सत्र डेटा को सीधे लिखने के बजाय उन रैपरों के माध्यम से रूट करना कॉलर की जिम्मेदारी थी।
cpsrvd के अंदर HTTP बेसिक ऑथेंटिकेशन हैंडलर — कोड पथ जो सीधे Authorization HTTP हेडर से क्रेडेंशियल स्वीकार करता है — ने सबमिट किए गए पासवर्ड को एक निचले-स्तरीय सेव रूटीन के माध्यम से पूर्व-प्रमाणीकरण सत्र फ़ाइल में संग्रहीत किया जो स्वच्छता रैपर को पूरी तरह से बायपास करता था। क्योंकि स्वच्छता डिस्क पर लिखने के बिंदु पर अनिवार्य होने के बजाय ऑप्ट-इन थी, इस एक कॉलर ने चुपचाप इसे छोड़ दिया।
यह "स्रोत पर मान्य करें, सिंक पर नहीं" की पाठ्यपुस्तक विफलता मोड है: जब तक एक सुरक्षा नियंत्रण को एक अलग फ़ंक्शन को कॉल करके बायपास किया जा सकता है, तब तक यह अंततः किया जाएगा, चाहे वह देखरेख, रिफैक्टरिंग, या एक कोड पथ के माध्यम से हो जिसे किसी ने इस विशिष्ट नियंत्रण के खिलाफ ऑडिट करने के बारे में नहीं सोचा था। cPanel द्वारा भेजा गया स्थायी फिक्स स्वच्छता कॉल को सेव फ़ंक्शन के अंदर ही ले जाता है, ताकि इसे अब किसी भी कॉलर, वर्तमान या भविष्य, द्वारा छोड़ा नहीं जा सके।
सत्र लेखक संवेदनशील फ़ील्ड (विशेष रूप से पासवर्ड फ़ील्ड) को प्रति-सत्र सममित कुंजी का उपयोग करके एन्क्रिप्ट करता है। वह कुंजी ग्राहक द्वारा प्रस्तुत सत्र कुकी में एम्बेडेड एक घटक से प्राप्त होती है। कमजोर कोड में, यदि वह कुंजी घटक अनुरोध से अनुपस्थित था — कुछ पूरी तरह से हमलावर के नियंत्रण में, क्योंकि वे चुनते हैं कि कौन सी कुकी भेजनी है — तो एन्क्रिप्शन चरण को लिखने से मना करने के बजाय चुपचाप छोड़ दिया गया था।