
CVE-2026-41940 (cPanel और WHM प्रमाणीकरण बाईपास) के लिए उच्च सटीकता स्कैनर
cPanel/WHM प्रमाणीकरण बाईपास (CVE-2026-41940) के लिए एक उच्च-निष्ठा स्कैनर। यह सार्वजनिक प्रूफ-ऑफ-कॉन्सेप्ट और डिटेक्शन में आम झूठी-नकारात्मकता उत्पन्न किए बिना, और खाता लॉकआउट और रूट-IP-अनुमति-सूची तंत्रों को ट्रिगर किए बिना संवेदनशील होस्ट की पहचान करता है जो सामान्य स्कैनिंग में बाधा डालते हैं।
यह उपकरण cpdavd (पोर्ट 2079 सादा / 2080 TLS) पर समान-परिवार के CalDAV पथ-ट्रैवर्सल बग के लिए एक अलग, ऑप्ट-इन एक्सप्लॉइट श्रृंखला भी बंडल करता है —
CVE-2026-29205 —
जो एक दूरस्थ हमलावर को एक छोटे SMTP-संचालित सेटअप चरण के सफल होने के बाद रूट के रूप में मनमानी फ़ाइलें पढ़ने देता है। cPanel 11.134.0.26 अंतर्निहित RAII लाइफटाइम बग को ठीक करता है, इसलिए अब रीड अन-प्रिविलेज्ड खाता स्वामी के रूप में चलता है; ट्रैवर्सल स्वयं अभी भी cpdavd तक पहुँचता है, लेकिन उस खाते से अधिक नहीं बढ़ सकता। CalDAV श्रृंखला --exploit के पीछे गेटेड है और डिफ़ॉल्ट रूप से बंद है क्योंकि यह वास्तविक ईमेल भेजता है और पुष्टि किए गए लक्ष्यों से फ़ाइलें पढ़ता है — एक्सप्लॉइट मोड (सक्रिय) अनुभाग देखें।
CVE-2026-41940 के लिए अधिकांश सार्वजनिक डिटेक्शन में तीन समस्याएं हैं। यह स्कैनर उनमें से प्रत्येक को संबोधित करता है।
आप इस डिटेक्शन तकनीक पर हमारा ब्लॉग पोस्ट यहाँ पढ़ सकते हैं: https://slcyber.io/research-center/high-fidelity-check-for-the-cpanel-authentication-bypass-cve-2026-41940/
cPanel का प्रति-vhost Apache कॉन्फ़िगरेशन एक ProxyPass स्थापित करता है जो /___proxy_subdomain_whm को 127.0.0.1:2086 और /___proxy_subdomain_cpanel को 127.0.0.1:2080 पर अग्रेषित करता है, चाहे अनुरोध के Host हेडर कुछ भी हो। RewriteCond केवल रीराइट को प्रतिबंधित करता है जो प्रबंधन सबडोमेन को प्रॉक्सी पथ पर मैप करता है; ProxyPass स्वयं बिना शर्त है। cPanel-प्रबंधित Apache द्वारा सेवित किसी भी vhost पर इन पथों को हिट करना उसी संवेदनशील बैकएंड तक पहुँचता है जैसे प्रबंधन पोर्ट।
स्कैनर जो केवल पोर्ट 2082/2083/2086/2087 की जांच करते हैं, वे होस्ट को संवेदनशील नहीं बताएंगे जब उन पोर्टों को फ़ायरवॉल किया गया हो, भले ही बग 443 के माध्यम से पूरी तरह से पहुँच योग्य हो। यह स्कैनर डिफ़ॉल्ट रूप से 2087, 2083, और 443 पर दो प्रॉक्सी पथों की जांच करता है।
cPanel cphulkd शिप करता है, जो पासवर्ड के कुछ असफल प्रयासों के बाद खातों को लॉक कर देता है, और authorized_whm_root_ips, जो रूट लॉगिन को स्रोत पतों की कॉन्फ़िगर की गई सूची तक सीमित करता है। एक स्कैनर जो root के लिए सत्र इंजेक्ट करने का प्रयास करके बाईपास का शोषण करता है:
यह स्कैनर WHM पक्ष पर दोनों समस्याओं से बचता है, एक यादृच्छिक रूप से उत्पन्न उपयोगकर्ता नाम के तहत सत्र पेलोड में expired=1 इंजेक्ट करके। सत्र इंजेक्शन को परिणामी cpsessXXXX URL पर जाकर और प्रतिक्रिया निकाय में msg_code:[expired_session] से मिलान करके सत्यापित किया जाता है, जो केवल तब मौजूद होता है जब इंजेक्शन सफल हुआ। किसी वास्तविक खाते को लक्षित नहीं किया जाता, इसलिए किसी वास्तविक खाते को लॉक नहीं किया जा सकता, और रूट अनुमति सूची अप्रासंगिक है क्योंकि कोई रूट लॉगिन प्रयास नहीं किया गया।
cPanel डेमॉन (cpaneld, पोर्ट 2083 और /___proxy_subdomain_cpanel पथ) के लिए आवश्यक है कि आपूर्ति किया गया उपयोगकर्ता नाम डिस्क पर मौजूद किसी मौजूदा cPanel खाते के अनुरूप हो (-f /var/cpanel/users/$user)। root उपयोगकर्ता नाम कभी भी इस जाँच को संतुष्ट नहीं करेगा क्योंकि रूट एक सिस्टम उपयोगकर्ता है, cPanel उपयोगकर्ता नहीं। डिटेक्शन जो केवल root का प्रयास करते हैं, इस सतह पर झूठी नकारात्मकता उत्पन्न करते हैं। यह स्कैनर cPanel सतह के विरुद्ध सामान्य cPanel उपयोगकर्ता नामों की एक कॉन्फ़िगर करने योग्य शब्दसूची का उपयोग करता है और WHM सतह पर यादृच्छिक-उपयोगकर्ता नाम पथ पर वापस आ जाता है, जिस पर ऐसा कोई प्रतिबंध नहीं है।
प्रत्येक लक्ष्य के लिए स्कैनर प्रति सतह निम्नलिखित चरण करता है:
GET /login जारी करें और whostmgrsession (WHM) या cpsession (cPanel) के लिए Set-Cookie हेडर पढ़ें। कुकी में अल्पविराम-पृथक सत्र-नाम घटक होता है।GET / को Authorization: Basic हेडर के साथ जारी करें जिसका डिकोडेड मान <user>:\xff\nexpired=1 हो। अंतिम \nexpired=1 सत्र-इंजेक्शन पेलोड है। चरण 1 से सत्र कुकी बिना बदलाव के पुनः चलाई जाती है।Location हेडर पढ़ें और cpsessXXXX टोकन निकालें।GET /<cpsessXXXX>/ जारी करें और निकाय में msg_code:[expired_session] देखें। इसकी उपस्थिति साबित करती है कि सत्र इंजेक्शन सफल हुआ और होस्ट संवेदनशील है।WHM पर (पोर्ट 2087 और 443 पर /___proxy_subdomain_whm पथ) उपयोगकर्ता नाम एक यादृच्छिक u है जिसके बाद दस हेक्स वर्ण हैं। cPanel पर (पोर्ट 2083 और 443 पर /___proxy_subdomain_cpanel पथ) स्कैनर अपनी उपयोगकर्ता नाम शब्दसूची पर चलता है और पहले मिलान पर रुक जाता है।
डिफ़ॉल्ट रूप से स्कैनर 2087, 2083, और 443 को उसी क्रम में जांचता है और जैसे ही कोई सतह संवेदनशीलता की पुष्टि करती है, रुक जाता है।
--exploit)CVE-2026-29205 — cPanel/WHM WP2 सुरक्षा अद्यतन, 13 मई 2026। cPanel 11.134.0.26 में ठीक किया गया। सलाहकार उसी
cpdavdविशेषाधिकार-ड्रॉप प्रतिगमन को ट्रैक करता है जिसका यह एक्सप्लॉइट श्रृंखला दुरुपयोग करती है।
बग और एक्सप्लॉइटेशन श्रृंखला का पूर्ण विवरण: https://slcyber.io/research-center/new-age-of-collisions-reading-arbitrary-files-pre-auth-as-root-in-cpanel-cve-2026-29205
cpdavd पोर्ट 2079 (सादा HTTP) और 2080 (TLS) पर CalDAV/CardDAV संसाधनों की सेवा करते समय बनाए गए <principal>/<collection>/... पथ पर भरोसा करता है। एक अनुरोध तैयार करके जिसके पथ घटक में .. खंड एन्कोडेड हैं और इसे एक maildir फ़ोल्डर पर इंगित करके जिसका ऑन-डिस्क नाम भी ट्रैवर्सल एन्कोड करता है (x-attachment-1-y), cpdavd को डिस्क पर किसी भी फ़ाइल को रूट के रूप में पढ़ने के लिए मजबूर किया जा सकता है, स्वामित्व या अनुमतियों की परवाह किए बिना — जिसमें /etc/shadow, /etc/passwd, और प्रति-उपयोगकर्ता मेल स्पूल शामिल हैं।
गहराई में सुरक्षा जो पढ़ने से पहले खाता स्वामी के लिए विशेषाधिकार छोड़ने वाली थी, चुपचाप विफल हो गई: Cpanel::AccessIds::ReducedPrivileges ऑब्जेक्ट शून्य संदर्भ में बनाया गया था, इसलिए इसका डिस्ट्रक्टर पढ़ने के चलने से पहले रूट विशेषाधिकारों को पुनर्स्थापित कर देता था। cPanel 11.134.0.26 ऑब्जेक्ट को my $privs लेक्सिकल से बांधता है ताकि यह -f / stat / open / read श्रृंखला के माध्यम से जीवित रहे; पैच किए गए होस्ट पर इसलिए रीड अन-प्रिविलेज्ड खाता स्वामी के रूप में चलता है न कि रूट के रूप में।
संवेदनशील फ़ोल्डर को पढ़ने से पहले डिस्क पर मौजूद होना चाहिए। cPanel स्वचालित रूप से प्राप्तकर्ता <user>+x-attachment-1-y@<domain> के लिए .x-attachment-1-y नामक एक फ़ोल्डर बनाता है जब पहली बार कोई ईमेल उस उप-पते पर आता है। इसलिए श्रृंखला है:
info, admin, webmaster)।<prefix>+x-attachment-1-y@<domain> भेजें। स्वीकृत RCPT TO प्रतिक्रियाओं को ट्रैक किया जाता है।/calendar/ और /addressbook/ दोनों संग्रह उपसर्गों के तहत, पोर्ट 2080 (TLS) और 2079 (सादा) पर cpdavd के विरुद्ध पथ-ट्रैवर्सल GET भेजें।सफलता फ़ाइल के बाइट्स लौटाती है; खोज ईमेल, संग्रह, बाइट गणना, और पहले 200 बाइट्स को पूर्वावलोकन के रूप में रिकॉर्ड करती है।