
सुरक्षित रूप से पता लगाएं कि क्या कोई PAN-OS लक्ष्य CVE-2026-0265 के प्रति संवेदनशील है।
बिना किसी सत्र को प्रमाणित किए या किसी अवस्था को संशोधित किए, यह सुरक्षित रूप से निर्धारित करें कि क्या कोई Palo Alto Networks PAN-OS GlobalProtect पोर्टल CVE-2026-0265 के लिए असुरक्षित है।
CVE-2026-0265 PAN-OS और Panorama को प्रभावित करने वाला एक दूरस्थ प्रमाणीकरण बायपास है, जो तब ट्रिगर होता है जब कोई प्रमाणीकरण प्रोफ़ाइल Cloud Authentication Service (CAS) का उपयोग करती है। libpanmp_mp.so में असुरक्षित pan_auth_verify फ़ंक्शन JSON Web Token हस्ताक्षर सत्यापन को पूरी तरह से हमलावर-नियंत्रित alg हेडर पर भेज देता है — alg=HS256 और HMAC-SHA256(cas_public_key_pem, header.payload) के रूप में हस्ताक्षर के साथ एक जाली JWT को स्वीकार कर लिया जाता है जैसे कि यह एक वास्तविक RS256-हस्ताक्षरित CAS टोकन हो, जिससे कोई भी हमलावर किसी भी उपयोगकर्ता का प्रतिरूपण कर सकता है।
यह बग दो हमले सतहों के माध्यम से पहुँचा जा सकता है — GlobalProtect पोर्टल (/saml/acs.esp, एक VPN सत्र देता है) और प्रबंधन UI (/SAML20/SP/ACS, पूर्ण PAN-OS व्यवस्थापक देता है)। यह उपकरण केवल GlobalProtect पोर्टल सतह को कवर करता है।
एक एकल अनाम GET /global-protect/prelogin.esp अनुरोध एक आधिकारिक निर्णय के लिए आवश्यक सब कुछ प्रकट करता है:
<cas-auth>yes|no</cas-auth> होता है जो सीधे पोर्टल के प्रमाणीकरण कॉन्फ़िगरेशन द्वारा सेट किया जाता है। yes का मान इस श्रोता के लिए CVE पूर्व शर्त पूरी होने की पुष्टि करता है।<saml-request> फ़ील्ड में एक आउटबाउंड CAS अनुरोध टोकन एम्बेड करती है। इसे डिकोड करने से फ़ायरवॉल का आधिकारिक संस्करण स्ट्रिंग प्राप्त होता है, जिसे बाद में विक्रेता सलाहकार के प्रति-आधार पैच-हॉटफ़िक्स मैट्रिक्स के विरुद्ध क्रॉस-रेफरेंस किया जाता है ताकि निर्णय उत्पन्न किया जा सके।.saas शॉर्ट-सर्किट — PA क्लाउड-प्रबंधित बिल्ड प्रभावित नहीं होते हैं (पालो ऑल्टो के स्पष्टीकरण के अनुसार, 2026-05-21), अंतर्निहित आधार बिल्ड संख्या की परवाह किए बिना।स्क्रिप्ट निर्णय, फ़ायरवॉल की रिपोर्ट की गई PanOS संस्करण (ताकि एक रक्षक अपनी सूची के विरुद्ध आकलन की जाँच कर सके), और बुनियादी ट्राइएज संदर्भ (prelogin_status, prelogin_msg, http_status, त्रुटि नोट्स) उत्सर्जित करता है। यदि आपके पाइपलाइन को अधिक समृद्ध उपकरण मेटाडेटा की आवश्यकता है, तो लक्ष्य URL को अपनी स्वयं की सूची के विरुद्ध क्रॉस-रेफरेंस करें।
git clone https://github.com/BishopFox/CVE-2026-0265-check
cd CVE-2026-0265-check
pip install requests
Python 3.9+ और requests पैकेज की आवश्यकता है।
एक या अधिक लक्ष्यों को स्थितीय तर्कों के रूप में, --targets-file के माध्यम से, या stdin पर पास करें। होस्टनाम और host:port स्ट्रिंग स्वचालित रूप से https:// में लपेटे जाते हैं।
python3 CVE-2026-0265-check.py [options] <target> [<target>...]
| फ़्लैग | अर्थ |
|---|---|
-f, --targets-file FILE | FILE से प्रति पंक्ति एक लक्ष्य पढ़ें |
-t, --timeout SECONDS | प्रति-अनुरोध टाइमआउट। डिफ़ॉल्ट: 20.0 |
-c, --concurrent N | अधिकतम समानांतर लक्ष्य। डिफ़ॉल्ट: 5 |
-b, --brief | पूर्ण JSON के बजाय प्रति लक्ष्य <url>\t<verdict>\t<panos_version> उत्सर्जित करें |
--user-agent UA | प्रोब User-Agent को ओवरराइड करें। डिफ़ॉल्ट एक ब्राउज़र-जैसा Chrome स्ट्रिंग है जो gpsvc के GP-क्लाइंट संस्करण गेट को बायपास करता है; यदि आपको एक्सेस-लॉग ऑडिट दृश्यता की आवश्यकता है और संस्करण-गेटेड पथ की आवश्यकता नहीं है, तो कस्टम UA का उपयोग करें। |
डिफ़ॉल्ट आउटपुट stdout पर प्रति लक्ष्य एक JSON ऑब्जेक्ट है (jq-अनुकूल)।
स्क्रिप्ट प्रति लक्ष्य तीन वर्गों में से एक निर्णय उत्सर्जित करती है। निर्धारित निर्णय उस लक्ष्य के लिए भेद्यता प्रश्न का आधिकारिक उत्तर देते हैं। अनिर्धारित निर्णय इंगित करते हैं कि प्रोब किसी निष्कर्ष पर नहीं पहुँच सका और संचालक की अनुवर्ती कार्रवाई आवश्यक है।
| निर्णय | कब |
|---|---|
VULNERABLE | CAS संलग्न है, PanOSversion इस आधार के लिए सलाहकार के पैच किए गए हॉटफिक्स से सख्ती से नीचे है, .saas नहीं है। |
| निर्णय | कब |
|---|---|
PATCHED | CAS संलग्न है, PanOSversion इस आधार के लिए सलाहकार के पैच किए गए हॉटफिक्स के बराबर या ऊपर है। |
NOT-AFFECTED-SAAS | CAS संलग्न है लेकिन PanOSversion में .saas प्रत्यय है (PA क्लाउड-प्रबंधित; PA 2026-05-21 के अनुसार प्रभावित नहीं)। |
NOT-AFFECTED-NO-CAS | प्रीलॉगिन सफलतापूर्वक लौटा लेकिन <cas-auth> SAML / RADIUS / LDAP / स्थानीय प्रमाणीकरण इंगित करता है। CVE इस श्रोता पर लागू नहीं होता है। |
NOT-AFFECTED-NOT-GLOBALPROTECT | प्रतिक्रिया आकार GP पोर्टल नहीं है (जैसे "GlobalProtect पोर्टल मौजूद नहीं है")। दायरे से बाहर। |
| निर्णय | कब | सुझाया अनुवर्ती |
|---|---|---|
UNDETERMINED-VERSION-GATED | gpsvc ने लौटाया "CAS क्लाइंट द्वारा समर्थित नहीं है"। CAS संलग्न है लेकिन User-Agent कारणों से प्रोब अस्वीकार कर दिया गया; इस प्रतिक्रिया से PanOSversion पढ़ा नहीं जा सकता। | --user-agent को वास्तविक GP-क्लाइंट स्ट्रिंग पर सेट करके पुनः प्रयास करें। |
UNDETERMINED-MTLS-GATED | प्रीलॉगिन प्रतिक्रिया में "मान्य क्लाइंट प्रमाणपत्र आवश्यक है" संदेश। प्रमाणीकरण सतह mTLS गेट के पीछे छिपी हुई है। | एक अलग चैनल (ग्राहक का आधिकारिक संस्करण, या एक मान्य क्लाइंट प्रमाणपत्र के साथ प्रोब) के माध्यम से बिल्ड की पुष्टि करें। |
UNDETERMINED-ERROR | नेटवर्क विफलता, दूषित प्रतिक्रिया, अपार्स करने योग्य PanOSversion, या cas-auth=yes होने के बावजूद टोकन डिकोड विफलता। | पुनः चलाएँ; यदि स्थायी है, तो लक्ष्य शायद इस स्थिति से पहुँच योग्य नहीं है। |
$ python3 CVE-2026-0265-check.py -b -f targets.txt
https://gp1.customer.example VULNERABLE 11.1.6-h23
https://gp2.customer.example PATCHED 11.1.6-h32
https://vpn.cloud.customer.example NOT-AFFECTED-SAAS 11.2.7-h9.saas
https://mgmt.customer.example NOT-AFFECTED-NO-CAS -
https://www.customer.example NOT-AFFECTED-NOT-GLOBALPROTECT -
https://internal-vpn.customer.example UNDETERMINED-MTLS-GATED -
$ python3 CVE-2026-0265-check.py gp.customer.example | jq .
{
"target": "https://gp.customer.example",
"verdict": "VULNERABLE",
"panos_version": "11.1.6-h23",
"prelogin_status": "Success",
"http_status": 200,
"notes": [
"11.1.6-h23 is below the advisory's patched hotfix for this base."
]
}
gpsvc बैक-टू-बैक प्रोबिंग के तहत दर-सीमित करता है — स्क्रिप्ट पहले से ही प्रत्येक HTTP 503 को बढ़ती बैकऑफ़ के साथ पुनः प्रयास करती है, लेकिन -c 5 और एक मध्यम -t बड़े फ्लीट के लिए अनुकूल है:
cat all-targets.txt | python3 CVE-2026-0265-check.py -b -c 5
स्क्रिप्ट एक निर्धारित निर्णय तभी उत्पन्न कर सकती है जब:
NOT-AFFECTED-NOT-GLOBALPROTECT या UNDETERMINED-ERROR पर हल होती हैं)।UNDETERMINED-MTLS-GATED) या एक आक्रामक User-Agent जाँच द्वारा (अन्यथा UNDETERMINED-VERSION-GATED)।एक MIT लाइसेंस के तहत वितरित।
पूर्व पारस्परिक सहमति के बिना लक्ष्यों पर हमला करने के लिए इस उपकरण का उपयोग अवैध है। सभी लागू स्थानीय, राज्य और संघीय कानूनों का पालन करना अंतिम उपयोगकर्ता की जिम्मेदारी है। डेवलपर्स कोई देयता नहीं मानते हैं और इस प्रोग्राम के किसी भी दुरुपयोग या क्षति के लिए जिम्मेदार नहीं हैं।