
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.
VULNERABLE — affected version and CAS configured (true exposure)
NOT_EXPLOITABLE — affected version, but no CAS profile is defined; the vulnerable code path is not reachable
SAFE — running a fixed or unaffected versionparamiko (pip install paramiko)
A read-only admin account that exists on every device in your list (TACACS+, RADIUS, SAML, or local — anything works as long as the same credentials authenticate everywhere).
SSH (TCP/22) reachability from wherever you run the script to each device's management interface.Installation
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 and edit the DEVICES list near the top with your own hostnames and management IPs:
python DEVICES = [ ("fw1-prod-region1", "192.0.2.10"), ("fw2-prod-region1", "192.0.2.11"), ("panorama1", "198.51.100.10"), # ... ]
Optionally change DEFAULT_USER to your standard read-only admin account name.
Run the script:
bash python check_cve_2026_0265.py
Enter your SSH username and password when prompted. The same credentials are reused for every device.Sample output
================================================================================
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 column is color-coded:
Status Color Meaning
VULNERABLE bold red Affected version and CAS is configured — patch immediately
NOT_EXPLOITABLE yellow Affected version, but CAS is not configured — patch on next maintenance window
green Version is at or beyond the fixed hotfix for this CVE
Error states (, , ) are listed in the error-detail block below the table.How it works For each device, the script runs an interactive SSH session and issues two commands:
show system info | match sw-
show config running | match cloud-authentication-service
The first returns a line like sw-version: 11.1.4-h7. The second is empty if no CAS-based authentication profile is configured on the device. The script combines these two answers against the affected-version table from the published advisory.
A note on CAS detection: when a
matchfilter has no hits, the device returns nothing other than the echoed command and the next prompt. The script accounts for the echoed command itself containing the keyword and only flags CAS as "configured" when the keyword appears more than once in the output.
Disclaimer This script is provided as-is for defensive security and operational use. It is not affiliated with or endorsed by Palo Alto Networks. Always confirm CVE applicability against the official vendor advisory before making patching decisions.
showuser@host(active)>AFFECTED BY CVECASSTATUSexitSAFEAUTH_FAILUNREACHABLEPARSE_ERRNOT_EXPLOITABLEcloud-authentication-serviceVULNERABLE