
Outil d'enquête d'exposition non destructif pour évaluer les surfaces du portail d'authentification User-ID de PAN-OS liées à CVE-2026-0300, effectuant des vérifications HTTP(S) sûres et une évaluation des risques basée sur la version.
Cet outil est un utilitaire d'évaluation non destructive de l'exposition permettant de déterminer si un service PAN-OS cible peut exposer des surfaces accessibles depuis le réseau liées à CVE-2026-0300.
L'outil est destiné à la validation défensive autorisée de la sécurité, à l'examen de l'exposition des actifs et au triage des vulnérabilités. Il n'exploite pas la vulnérabilité, n'envoie pas de charges utiles de corruption mémoire et ne tente pas de faire planter ou de compromettre l'appareil cible.
Cet outil est conçu pour l'évaluation de l'exposition liée à :
Selon Palo Alto Networks, CVE-2026-0300 affecte les déploiements PAN-OS où le portail d'authentification User-ID est activé et accessible depuis des réseaux non fiables. Les pare-feu PA-Series et VM-Series peuvent être concernés. Prisma Access, Cloud NGFW et Panorama sont répertoriés comme non concernés dans l'avis officiel.
L'outil effectue des vérifications réseau et HTTP(S) sûres pour déterminer si une cible semble exposer des services liés au portail PAN-OS.
Il vérifie :
--scheme both ou --scheme http est utilisé.HEADGETOPTIONS//php/login.php/php/uid.php/php/uidlogin.php/sslmgr/global-protect/login.esp--pan-os-ver.La vérification du certificat HTTPS est désactivée par défaut car les services administratifs et de portail PAN-OS utilisent souvent des certificats auto-signés ou émis en privé.
Cet outil ne :
L'outil fournit uniquement une évaluation de l'exposition observable depuis le réseau externe et, si --pan-os-ver est fourni, une évaluation des risques basée sur la version auto-déclarée.
L'outil aide à répondre aux questions suivantes :
L'outil vérifie si l'hôte du scanner peut établir une connexion TCP vers la cible et le port spécifiés.
Exemple de résultat :
tcp=True
https=True
Cela signifie que le port cible est accessible depuis l'hôte du scanner et accepte les connexions HTTPS.
L'outil envoie des requêtes HTTP(S) sûres et enregistre les codes de statut des réponses.
Exemples de résultats :
HTTPS HEAD /: HTTP/1.1 403 Forbidden
HTTPS GET /php/uid.php: HTTP/1.1 500 Internal Server Error
Cela signifie que le service est accessible et traite les requêtes HTTP(S).
L'outil vérifie les chemins couramment associés aux fonctionnalités du portail ou des pages de réponse PAN-OS.
Exemples :
/php/login.php
/php/uid.php
/php/uidlogin.php
Des réponses non-404 provenant de ces chemins peuvent indiquer que les gestionnaires liés au portail sont accessibles depuis l'hôte du scanner.
L'outil recherche des indicateurs textuels légers dans les en-têtes de réponse, les titres, les redirections, les cookies et les échantillons du corps de la réponse.
Exemples d'indicateurs :
palo alto
pan-os
globalprotect
captive portal
user-id
authentication portal
response page
Ces indicateurs augmentent la confiance que le service exposé est lié aux fonctionnalités du portail PAN-OS.
Si --pan-os-ver est fourni, l'outil compare la version fournie aux seuils concernés/corrigés du tableau d'avis officiel intégré au script.
Exemple :
--pan-os-ver 10.2.4-h2
Exemple de résultat :
patch_status: AFFECTED_BY_VERSION
version_status: AFFECTED_VERSION
combined_risk=HIGH
Si --pan-os-ver n'est pas fourni, l'outil affiche le tableau des versions concernées/corrigées et signale le statut de la version comme inconnu.
Cet outil utilise uniquement les modules de la bibliothèque standard Python.
Aucune dépendance Python externe n'est requise.
python3 --version
Recommandé :
Python 3.8+
Un requirements.txt minimal peut être utilisé :
# Aucune dépendance externe requise.
# Cet outil utilise uniquement les modules de la bibliothèque standard 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
Par défaut, l'outil sonde tous les chemins connus sûrs.
Utilisez --minimal pour vérifier uniquement :
//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
Créez targets.txt :
172.16.20.254
172.16.20.253
172.16.21.0/24
Exécutez :
python3 panos_cve_2026_0300_diag.py \
-T targets.txt \
-p 6082 \
--json-out results.json