
Herramienta de reconocimiento de exposición no destructiva para evaluar superficies del Portal de Autenticación de User-ID en PAN-OS relacionadas con CVE-2026-0300, realizando comprobaciones seguras de HTTP(S) y evaluación de riesgos basada en versiones.
Esta herramienta es una utilidad de encuesta de exposición no destructiva para evaluar si un servicio PAN-OS objetivo puede exponer superficies accesibles por red relacionadas con CVE-2026-0300.
La herramienta está diseñada para validación defensiva autorizada de seguridad, revisión de exposición de activos y triaje de vulnerabilidades. No explota la vulnerabilidad, no envía cargas útiles de corrupción de memoria y no intenta bloquear o comprometer el dispositivo objetivo.
Esta herramienta está diseñada para la evaluación de exposición relacionada con:
Según Palo Alto Networks, CVE-2026-0300 afecta a implementaciones de PAN-OS donde el Portal de Autenticación User-ID está habilitado y es accesible desde redes no confiables. Los firewalls de las series PA y VM pueden verse afectados. Prisma Access, Cloud NGFW y Panorama figuran como no afectados en el aviso oficial.
La herramienta realiza comprobaciones seguras de red y a nivel HTTP(S) para identificar si un objetivo parece exponer servicios relacionados con el portal de PAN-OS.
Comprueba:
--scheme both o --scheme http.HEADGETOPTIONS//php/login.php/php/uid.php/php/uidlogin.php/sslmgr/global-protect/login.esp--pan-os-ver.La verificación de certificados HTTPS está deshabilitada por defecto porque los servicios administrativos y de portal de PAN-OS suelen usar certificados autofirmados o emitidos de forma privada.
Esta herramienta no:
La herramienta solo proporciona una evaluación de exposición observable externamente por red y, si se proporciona --pan-os-ver, una evaluación de riesgo basada en versión autoinformada.
La herramienta ayuda a responder las siguientes preguntas:
La herramienta comprueba si el host del escáner puede establecer una conexión TCP con el objetivo y puerto especificados.
Ejemplo de hallazgo:
tcp=True
https=True
Esto significa que el puerto objetivo es accesible desde el host del escáner y acepta conexiones HTTPS.
La herramienta envía solicitudes HTTP(S) seguras y registra los códigos de estado de respuesta.
Ejemplos de hallazgos:
HTTPS HEAD /: HTTP/1.1 403 Forbidden
HTTPS GET /php/uid.php: HTTP/1.1 500 Internal Server Error
Esto significa que el servicio es accesible y está procesando solicitudes HTTP(S).
La herramienta comprueba rutas comúnmente asociadas con la funcionalidad del portal o páginas de respuesta de PAN-OS.
Ejemplos:
/php/login.php
/php/uid.php
/php/uidlogin.php
Las respuestas que no sean 404 de estas rutas pueden indicar que los manejadores relacionados con el portal son accesibles desde el host del escáner.
La herramienta busca indicadores textuales ligeros en encabezados de respuesta, títulos, redirecciones, cookies y muestras del cuerpo de la respuesta.
Ejemplos de indicadores:
palo alto
pan-os
globalprotect
captive portal
user-id
authentication portal
response page
Estos indicadores aumentan la confianza de que el servicio expuesto está relacionado con la funcionalidad del portal de PAN-OS.
Si se proporciona --pan-os-ver, la herramienta compara la versión proporcionada con los umbrales afectados/corregidos de la tabla de avisos oficial integrada en el script.
Ejemplo:
--pan-os-ver 10.2.4-h2
Ejemplo de resultado:
patch_status: AFFECTED_BY_VERSION
version_status: AFFECTED_VERSION
combined_risk=HIGH
Si no se proporciona --pan-os-ver, la herramienta muestra la tabla de versiones afectadas/corregidas e informa el estado de la versión como desconocido.
Esta herramienta utiliza solo módulos de la biblioteca estándar de Python.
No se requieren dependencias externas de Python.
python3 --version
Recomendado:
Python 3.8+
Se puede usar un requirements.txt mínimo:
# No se requieren dependencias externas.
# Esta herramienta utiliza solo módulos de la biblioteca estándar de Python.
python3 panos_cve_2026_0300_diag.py \
-t 172.16.20.254 \
-p 6082
python3 panos_cve_2026_0300_diag.py \
-t 172.16.20.254 \
-p 6082 \
--pan-os-ver 10.2.4-h2
python3 panos_cve_2026_0300_diag.py \
-t 172.16.20.254 \
-p 6082 \
--pan-os-ver 10.2.4-h2 \
--verbose
python3 panos_cve_2026_0300_diag.py \
-t 172.16.20.254 \
-p 6082 \
--scheme both
Por defecto, la herramienta sondea todas las rutas seguras conocidas.
Use --minimal para comprobar solo:
//php/login.phppython3 panos_cve_2026_0300_diag.py \
-t 172.16.20.254 \
-p 6082 \
--minimal
python3 panos_cve_2026_0300_diag.py \
-t 172.16.20.254 \
-p 443,6082,6081-6083 \
--scheme both
python3 panos_cve_2026_0300_diag.py \
-t 172.16.20.0/24 \
-p 6082 \
--csv-out results.csv \
--json-out results.json
Cree targets.txt:
172.16.20.254
172.16.20.253
172.16.21.0/24
Ejecute:
python3 panos_cve_2026_0300_diag.py \
-T targets.txt \
-p 6082 \
--json-out results.json
| Opción | Descripción |
|---|---|
-t, --target | IP, nombre de host o CIDR objetivo. Se admiten valores separados por comas. |
-T, --targets-file | Archivo que contiene objetivos, uno por línea. Se admiten entradas CIDR. |
-p, --ports | Puerto o rango de puertos. Ejemplo: 6082, 443,6082, 6081-6083. |
--scheme | Esquema de sondeo: https, http o both. Predeterminado: https. |
--pan-os-ver | Versión PAN-OS autoinformada, como 10.2.4-h2. |
--timeout | Tiempo de espera del socket en segundos. Predeterminado: 4.0. |
--max-bytes | Máximo de bytes de respuesta a leer por solicitud. Predeterminado: 16384. |
--minimal | Sondea solo / y /php/login.php. |
--verbose | Imprime todas las observaciones de solicitudes. |
--quiet | Reduce la salida de consola. |
--json-out | Escribe los resultados completos en un archivo JSON. |
--csv-out | Escribe los resultados resumidos en un archivo CSV. |
La herramienta produce tres tipos principales de evaluación:
| Nivel de Exposición | Significado |
|---|---|
LIKELY_EXPOSED_AUTH_PORTAL | Se observaron indicadores similares a PAN-OS y similares a portal de autenticación en un servicio HTTP(S) accesible. |
POSSIBLE_EXPOSED_AUTH_PORTAL | Las rutas relacionadas con el portal parecen accesibles y se comportan como manejadores de aplicación, pero el producto/versión PAN-OS no puede confirmarse remotamente. |
POSSIBLE_RESPONSE_PAGE_EXPOSURE | Una ruta relacionada con el portal o página de respuesta parece accesible, pero el producto/versión no está confirmado. |
HTTP_SERVICE_REACHABLE_ACCESS_CONTROLLED | El servicio HTTP(S) es accesible y está controlado por acceso, pero no se observó una huella clara de portal. |
HTTP_SERVICE_REACHABLE_UNIDENTIFIED | El servicio HTTP(S) es accesible, pero no se observaron indicadores claros de PAN-OS/Portal User-ID. |
TCP_REACHABLE_SERVICE_UNIDENTIFIED | La conexión TCP se estableció correctamente, pero no se observó una respuesta HTTP clara. |
NOT_REACHABLE_FROM_THIS_SCANNER | El host del escáner no pudo alcanzar el puerto objetivo. |
| Confianza | Significado |
|---|---|
HIGH | Se observaron indicadores externos fuertes, como respuestas 5xx/2xx/3xx relacionadas con el portal o múltiples rutas de portal que devuelven respuestas que no son 404. |
MEDIUM | Se observaron algunos indicadores de portal o página de respuesta, pero el servicio no pudo identificarse con confianza. |
LOW | El servicio es accesible, pero la evidencia de producto o portal es débil. |
| Estado | Interpretación |
|---|---|
2xx | La ruta devolvió contenido exitoso. Esto puede indicar contenido de portal accesible. |
3xx | La ruta devolvió una redirección. Esto puede indicar un flujo de portal o inicio de sesión accesible. |
403 | La ruta existe o se maneja, pero el acceso está prohibido. |
404 | La ruta no se encontró. Esta es una evidencia más débil de exposición. |
405 | La ruta puede existir, pero el método HTTP no está permitido. Esto es significativo para rutas relacionadas con el portal. |
5xx | La solicitud probablemente llegó a la lógica de la aplicación y causó un error del lado del servidor. Esta es una evidencia de exposición más fuerte, pero no una prueba de explotabilidad. |
| Estado de Versión | Significado |
|---|---|
AFFECTED_VERSION | La versión PAN-OS proporcionada está afectada según los umbrales del aviso integrado. |
POTENTIALLY_AFFECTED_VERSION | La versión PAN-OS proporcionada pertenece a una familia afectada pero no cumple claramente un umbral corregido listado. |
NOT_AFFECTED_FIXED_OR_NEWER | La versión PAN-OS proporcionada parece cumplir o superar un umbral corregido. |
NOT_SUPPLIED | No se proporcionó una versión PAN-OS con --pan-os-ver. |
UNKNOWN_FAMILY | La familia de la versión proporcionada no está presente en la tabla de avisos integrada. |
PARSE_ERROR | La versión proporcionada no pudo analizarse. |
| Estado de Parche | Significado |
|---|---|
AFFECTED_BY_VERSION | La versión proporcionada está afectada según la tabla de versiones. |
POTENTIALLY_AFFECTED_BY_VERSION | La versión proporcionada debe tratarse como potencialmente afectada a menos que se confirme lo contrario. |
LIKELY_FIXED_BY_VERSION | La versión proporcionada parece corregida o más reciente según la tabla de versiones. |
UNKNOWN_VERSION_NOT_SUPPLIED | No se proporcionó ninguna versión. |
UNKNOWN_PARSE_ERROR | La versión proporcionada no pudo analizarse. |
UNKNOWN_UNLISTED_FAMILY | La familia de la versión proporcionada no está cubierta por la tabla integrada. |
| Riesgo Combinado | Significado |
|---|---|
HIGH | Se observaron indicadores de exposición y la versión PAN-OS proporcionada está afectada. |
HIGH_OR_MEDIUM | Se observaron indicadores de exposición y la versión PAN-OS proporcionada está potencialmente afectada. |
UNKNOWN_VERSION_EXPOSED_SURFACE | Se observaron indicadores de exposición, pero no se proporcionó una versión PAN-OS. |
LOWER_BY_VERSION_BUT_EXPOSED | Se observaron indicadores de exposición, pero la versión proporcionada parece corregida o más reciente. |
VERSION_AFFECTED_BUT_NOT_REACHABLE_FROM_THIS_SCANNER | La versión proporcionada está afectada, pero este host del escáner no pudo alcanzar el servicio. |
VERSION_AFFECTED_SERVICE_UNCONFIRMED | La versión proporcionada está afectada, pero este escaneo no confirmó la exposición del portal. |
LOWER_FROM_THIS_SCANNER | El host del escáner no observó accesibilidad. |
LOWER_BY_VERSION | La versión proporcionada parece corregida o más reciente. |
UNKNOWN | La evidencia recopilada es insuficiente para una evaluación combinada confiable. |
Comando de ejemplo:
python3 panos_cve_2026_0300_diag.py \
-t 172.16.20.254 \
-p 6082 \
--pan-os-ver 10.2.4-h2 \
--verbose
Resultado de ejemplo:
[WARN] 172.16.20.254:6082 -> POSSIBLE_EXPOSED_AUTH_PORTAL / confidence=HIGH / combined_risk=HIGH
exposure_reason: Portal-related paths appear reachable and behave like application handlers, but PAN-OS product/version cannot be confirmed remotely.
patch_status: AFFECTED_BY_VERSION
version_status: AFFECTED_VERSION
pan_os_version: 10.2.4-h2
normalized_version: 10.2.4-h2
version_reason: Version is older than earliest fixed threshold 10.2.7-h34.
combined_reason: Exposure indicators were observed and the supplied PAN-OS version is affected by the version table.
evidence:
- HTTPS HEAD /: HTTP/1.1 403 Forbidden
- HTTPS HEAD /php/login.php: HTTP/1.1 405 Not Allowed
- HTTPS GET /php/uid.php: HTTP/1.1 500 Internal Server Error
- Portal-related PHP path returned 5xx, suggesting application handler exposure.
- Multiple portal-related PHP paths responded with non-404 statuses: /php/login.php, /php/uid.php, /php/uidlogin.php
Esto significa:
| Código de Salida | Significado |
|---|---|
0 | No se detectó una superficie de portal probablemente expuesta. |
1 | Se detectó exposición posible o probable, o se observó exposición con estado de versión desconocido/afectado. |
2 | Error de entrada, como objetivo faltante o puerto no válido. |
Esta herramienta no puede determinar todo solo desde la red.
No puede confirmar directamente:
El resultado debe tratarse como una señal de exposición y triaje, no como prueba de explotabilidad.
Si la herramienta informa POSSIBLE_EXPOSED_AUTH_PORTAL, LIKELY_EXPOSED_AUTH_PORTAL o HIGH, revise lo siguiente en el dispositivo PAN-OS:
Aviso de Seguridad de Palo Alto Networks para CVE-2026-0300: https://security.paloaltonetworks.com/CVE-2026-0300
Portal de Avisos de Seguridad de Palo Alto Networks: https://security.paloaltonetworks.com/
Catálogo de Vulnerabilidades Explotadas Conocidas de CISA: https://www.cisa.gov/known-exploited-vulnerabilities-catalog
Entrada de la Base de Datos Nacional de Vulnerabilidades de NIST: https://nvd.nist.gov/vuln/detail/CVE-2026-0300
Verifique siempre el aviso más reciente del proveedor antes de tomar decisiones de producción. La tabla de versiones afectadas y corregidas en esta herramienta debe revisarse y actualizarse si Palo Alto Networks revisa el aviso.
Esta herramienta está diseñada únicamente para uso defensivo autorizado.