
Python script to sweep a fleet of Palo Alto firewalls and Panoramas via SSH, check PAN-OS version against CVE-2026-0265 (Authentication Bypass via Cloud Authentication Service), detect whether CAS is actually configured, and report exploitability in a color-coded summary table.
एक Python स्क्रिप्ट जो Palo Alto Networks फ़ायरवॉल और Panorama उपकरणों की सूची से SSH के माध्यम से जुड़ती है और प्रत्येक डिवाइस की CVE-2026-0265 — PAN-OS में एक प्रमाणीकरण बाईपास भेद्यता, जो Cloud Authentication Service (CAS) सक्षम होने वाले उपकरणों को प्रभावित करती है — के प्रति संवेदनशीलता की रिपोर्ट करती है।
केवल संस्करण मिलान (जो अत्यधिक रिपोर्ट करता है) पर निर्भर न होकर, स्क्रिप्ट यह भी जाँचती है कि प्रत्येक डिवाइस पर CAS वास्तव में कॉन्फ़िगर है या नहीं और VULNERABLE (असुरक्षित), NOT_EXPLOITABLE (शोषण योग्य नहीं) और SAFE (सुरक्षित) के बीच अंतर करती है।
आधिकारिक सलाहकार (advisory) में निर्दिष्ट हॉटफ़िक्स से नीचे के प्रत्येक PAN-OS संस्करण को "प्रभावित" के रूप में सूचीबद्ध किया गया है। व्यवहार में, बग तभी मायने रखता है जब आपने CAS-आधारित प्रमाणीकरण प्रोफ़ाइल कॉन्फ़िगर की हो। एक भोला संस्करण स्कैन पुराने हॉटफ़िक्स पर चल रहे हर डिवाइस को असुरक्षित बताता है, जिससे आपको बड़े फ़्लीट में पैचिंग को प्राथमिकता देने का कोई तरीका नहीं मिलता।
यह स्क्रिप्ट आपको एक बार में पूरी तस्वीर देती है:
AFFECTED BY CVE — केवल सलाहकार के विरुद्ध संस्करण-श्रेणी की जाँच।
CAS — क्या डिवाइस पर वास्तव में CAS प्रमाणीकरण प्रोफ़ाइल परिभाषित है?
STATUS — संयुक्त निर्णय:
VULNERABLE — प्रभावित संस्करण और CAS कॉन्फ़िगर है (वास्तविक जोखिम)NOT_EXPLOITABLE — प्रभावित संस्करण, लेकिन कोई CAS प्रोफ़ाइल परिभाषित नहीं; असुरक्षित कोड पथ तक नहीं पहुँचा जा सकताSAFE — निर्धारित या अप्रभावित संस्करण चला रहा हैshow कमांड चलाता है — कोई कॉन्फ़िगरेशन परिवर्तन नहीं।user@host(active)>) को संभालता है और PAN-OS पेजर को अक्षम करता है ताकि आउटपुट कट न हो।AFFECTED BY CVE, CAS और STATUS कॉलम हैं।exit भेजता है ताकि PAN-OS ऑडिट लॉग में ट्रांसपोर्ट ड्रॉप के बजाय साफ़ लॉगआउट दिखाई दे।paramiko (pip install paramiko)git clone https://github.com/YOUR_USERNAME/palo-alto-cve-2026-0265-checker.git
cd palo-alto-cve-2026-0265-checker
pip install paramiko
check_cve_2026_0265.py खोलें और शीर्ष के पास DEVICES सूची को अपने स्वयं के होस्टनाम और प्रबंधन IP के साथ संपादित करें:
DEVICES = [
("fw1-prod-region1", "192.0.2.10"),
("fw2-prod-region1", "192.0.2.11"),
("panorama1", "198.51.100.10"),
# ...
]
वैकल्पिक रूप से DEFAULT_USER को अपने मानक केवल-पढ़ने वाले व्यवस्थापक खाता नाम में बदलें।
स्क्रिप्ट चलाएँ:
python check_cve_2026_0265.py
जब संकेत दिया जाए तो अपना SSH उपयोगकर्ता नाम और पासवर्ड दर्ज करें। प्रत्येक डिवाइस के लिए समान क्रेडेंशियल का पुन: उपयोग किया जाता है।
================================================================================
CVE-2026-0265 Risk Checker - Multi-device PAN-OS sweep
================================================================================
Devices in list: 6
Parallel workers: 8
SSH username for all devices [admin]:
Password for admin:
Checking devices (results appear as each finishes) ...
------------------------------------------------------------------------------
[ 1/ 6] fw1-prod-region1 192.0.2.10 NOT_EXPLOITABLE 11.1.4-h7 CAS:no
[ 2/ 6] fw2-prod-region1 192.0.2.11 NOT_EXPLOITABLE 11.1.4-h7 CAS:no
[ 3/ 6] fw1-prod-region2 192.0.2.20 SAFE 11.0.3-h10 CAS:no
[ 4/ 6] fw2-prod-region2 192.0.2.21 SAFE 11.0.3-h10 CAS:no
[ 5/ 6] panorama1-region1 198.51.100.10 NOT_EXPLOITABLE 11.2.7-h4 CAS:no
[ 6/ 6] panorama2-region2 198.51.100.20 NOT_EXPLOITABLE 11.2.7-h4 CAS:no
------------------------------------------------------------------------------
Completed in 18.4 seconds
================================================================================
CVE-2026-0265 Assessment Summary
================================================================================
-----------------------------------------------------------------------------------------------------
HOSTNAME MGMT IP VERSION AFFECTED BY CVE CAS STATUS FIX VERSION
-----------------------------------------------------------------------------------------------------
fw1-prod-region1 192.0.2.10 11.1.4-h7 yes no NOT_EXPLOITABLE 11.1.4-h33
fw2-prod-region1 192.0.2.11 11.1.4-h7 yes no NOT_EXPLOITABLE 11.1.4-h33
panorama1-region1 198.51.100.10 11.2.7-h4 yes no NOT_EXPLOITABLE 11.2.7-h13
panorama2-region2 198.51.100.20 11.2.7-h4 yes no NOT_EXPLOITABLE 11.2.7-h13
fw1-prod-region2 192.0.2.20 11.0.3-h10 no no SAFE -
fw2-prod-region2 192.0.2.21 11.0.3-h10 no no SAFE -
-----------------------------------------------------------------------------------------------------
Total: 6 | Vulnerable: 0 | Not exploitable: 4 | Safe: 2 | Errors: 0
-----------------------------------------------------------------------------------------------------
एक वास्तविक टर्मिनल में STATUS कॉलम रंग-कोडित होता है:
| Status | Color | Meaning |
|---|---|---|
VULNERABLE |
त्रुटि स्थितियाँ (AUTH_FAIL, UNREACHABLE, PARSE_ERR) तालिका के नीचे त्रुटि-विवरण ब्लॉक में सूचीबद्ध हैं।
प्रत्येक डिवाइस के लिए, स्क्रिप्ट एक इंटरैक्टिव SSH सत्र चलाती है और दो कमांड जारी करती है:
show system info | match sw-
show config running | match cloud-authentication-service
पहला sw-version: 11.1.4-h7 जैसी एक पंक्ति लौटाता है। दूसरा खाली होता है यदि डिवाइस पर कोई CAS-आधारित प्रमाणीकरण प्रोफ़ाइल कॉन्फ़िगर नहीं है। स्क्रिप्ट इन दो उत्तरों को प्रकाशित सलाहकार से प्रभावित-संस्करण तालिका के विरुद्ध जोड़ती है।
CAS पहचान पर एक नोट: जब
matchफ़िल्टर का कोई परिणाम नहीं मिलता है, तो डिवाइस प्रतिध्वनित कमांड और अगले प्रॉम्प्ट के अलावा कुछ भी नहीं लौटाता है। स्क्रिप्ट स्वयं प्रतिध्वनित कमांड में कीवर्ड की उपस्थिति को ध्यान में रखती है और केवल तब CAS को "कॉन्फ़िगर" के रूप में चिह्नित करती है जब कीवर्ड आउटपुट में एक से अधिक बार दिखाई देता है।
यह स्क्रिप्ट केवल CVE-2026-0265 हमले पथ (CAS-आधारित प्रमाणीकरण) को मान्य करती है। NOT_EXPLOITABLE लौटाने वाला उपकरण अपने वर्तमान कॉन्फ़िगरेशन में इस CVE के माध्यम से शोषण योग्य नहीं है, लेकिन यह अभी भी प्रभावित कोड चला रहा है और इसे सामान्य रखरखाव कैडेंस पर पैच किया जाना चाहिए।
CAS जाँच चल रहे कॉन्फ़िगरेशन में किसी भी cloud-authentication-service संदर्भ को देखती है। यह सत्यापित नहीं करती कि वह प्रोफ़ाइल किसी लॉगिन इंटरफ़ेस (mgmt UI, प्रमाणीकरण पोर्टल, GlobalProtect पोर्टल/गेटवे) से बंधी है या नहीं। एक कॉन्फ़िगरित लेकिन अनबाउंड CAS प्रोफ़ाइल तकनीकी रूप से शोषण योग्य नहीं है, लेकिन स्क्रिप्ट इसे रूढ़िवादी रूप से VULNERABLE के रूप में रिपोर्ट करती है।
HA जोड़े सिंक स्वस्थ होने पर कॉन्फ़िगरेशन साझा करते हैं, लेकिन स्क्रिप्ट प्रत्येक पीयर की स्वतंत्र रूप से जाँच करती है ताकि आप पुष्टि कर सकें कि दोनों पक्ष वास्तव में सहमत हैं।
यह स्क्रिप्ट SSH कुंजियों या प्रमाणपत्र-आधारित प्रमाणीकरण का उपयोग करके डिवाइस में लॉगिन नहीं करती — केवल पासवर्ड प्रमाणीकरण लागू किया गया है। PR का स्वागत है।
Palo Alto Networks Security Advisory: CVE-2026-0265 Palo Alto Networks: Best practices for securing administrative access Cloud Identity Engine / Cloud Authentication Service overview
MIT — LICENSE देखें।
यह स्क्रिप्ट रक्षात्मक सुरक्षा और संचालन उपयोग के लिए "जैसी है" प्रदान की जाती है। इसका Palo Alto Networks से कोई संबद्धता या समर्थन नहीं है। पैचिंग निर्णय लेने से पहले हमेशा आधिकारिक विक्रेता सलाहकार के विरुद्ध CVE प्रयोज्यता की पुष्टि करें।
| बोल्ड लाल |
| प्रभावित संस्करण और CAS कॉन्फ़िगर है — तुरंत पैच करें |
NOT_EXPLOITABLE | पीला | प्रभावित संस्करण, लेकिन CAS कॉन्फ़िगर नहीं है — अगले रखरखाव विंडो में पैच करें |
SAFE | हरा | संस्करण इस CVE के लिए निर्धारित हॉटफ़िक्स पर या उससे आगे है |