
Script de Python para barrer una flota de firewalls y Panoramas de Palo Alto vía SSH, comprobar la versión de PAN-OS frente a CVE-2026-0265 (Bypass de autenticación mediante el servicio de autenticación en la nube), detectar si CAS está realmente configurado y reportar la explotabilidad en una tabla resumen con códigos de color.
VULNERABLENOT_EXPLOITABLESAFEshow de solo lectura — sin cambios de configuración.
Gestiona los prompts de estado HA (p. ej. user@host(active)>) y desactiva el paginador de PAN-OS para que la salida no se trunque.
Tabla resumen con códigos de color (rojo / amarillo / verde) con columnas independientes para AFFECTED BY CVE, CAS y STATUS.
Funciona tanto con firewalls como con Panorama (la misma CLI en ambos).
Multiplataforma: Windows / macOS / Linux. Colores ANSI activados automáticamente en Windows 10+.
Cierre SSH ordenado — envía exit antes de cerrar para que los registros de auditoría de PAN-OS reflejen un cierre de sesión limpio en lugar de una caída del transporte.paramiko (pip install paramiko)
Una cuenta de administrador de solo lectura que exista en todos los dispositivos de tu lista (TACACS+, RADIUS, SAML o local — cualquier método sirve siempre que las mismas credenciales autentiquen en todos los sitios).
Conectividad SSH (TCP/22) desde donde ejecutes el script hasta la interfaz de gestión de cada dispositivo.Instalación
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 y edita la lista DEVICES cerca de la parte superior con tus propios nombres de host e IPs de gestión:
python DEVICES = [ ("fw1-prod-region1", "192.0.2.10"), ("fw2-prod-region1", "192.0.2.11"), ("panorama1", "198.51.100.10"), # ... ]
Opcionalmente, cambia DEFAULT_USER por tu cuenta de administrador de solo lectura habitual.
Ejecuta el script:
bash python check_cve_2026_0265.py
Introduce tu nombre de usuario y contraseña SSH cuando se te solicite. Las mismas credenciales se reutilizan para todos los dispositivos.Salida de ejemplo
================================================================================
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 tiene códigos de color:
Estado Color Significado
VULNERABLE rojo en negrita Versión afectada y CAS configurado — parchea de inmediato
NOT_EXPLOITABLE amarillo Versión afectada, pero CAS no está configurado — parchea en la próxima ventana de mantenimiento
SAFE verde La versión es igual o posterior al hotfix corregido para este CVE
Los estados de error (AUTH_FAIL, UNREACHABLE, PARSE_ERR) se enumeran en el bloque de detalle de errores debajo de la tabla.Cómo funciona Para cada dispositivo, el script abre una sesión SSH interactiva y ejecuta dos comandos:
show system info | match sw-
show config running | match cloud-authentication-service
El primero devuelve una línea como sw-version: 11.1.4-h7. El segundo está vacío si no hay ningún perfil de autenticación basado en CAS configurado en el dispositivo. El script combina estas dos respuestas con la tabla de versiones afectadas del aviso publicado.
Nota sobre la detección de CAS: cuando un filtro
matchno encuentra coincidencias, el dispositivo no devuelve nada más que el comando repetido y el siguiente prompt. El script tiene en cuenta que el propio comando repetido contiene la palabra clave y solo marca CAS como "configurado" cuando la palabra clave aparece más de una vez en la salida.
NOT_EXPLOITABLE no es explotable a través de este CVE en su configuración actual, pero sigue ejecutando código afectado y debería parchearse con la cadencia de mantenimiento habitual.
La comprobación de CAS busca cualquier referencia a cloud-authentication-service en la configuración en ejecución. No verifica si ese perfil está vinculado a una interfaz de inicio de sesión (mgmt UI, Authentication Portal, portal/pasarela GlobalProtect). Un perfil CAS configurado pero no vinculado tampoco es explotable técnicamente, pero el script lo informa de forma conservadora como VULNERABLE.
Los pares HA comparten configuración cuando la sincronización es correcta, pero el script comprueba cada miembro de forma independiente para que puedas confirmar que ambos lados realmente coinciden.
Este script no inicia sesión en el dispositivo mediante claves SSH ni autenticación basada en certificados — solo se implementa autenticación por contraseña. Se aceptan PRs.Descargo de responsabilidad Este script se proporciona tal cual para uso operativo y de seguridad defensiva. No está afiliado ni respaldado por Palo Alto Networks. Confirma siempre la aplicabilidad del CVE consultando el aviso oficial del fabricante antes de tomar decisiones de parcheo.