
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
| Option | Description |
|---|---|
-t, --target | IP cible, nom d'hôte ou CIDR. Les valeurs séparées par des virgules sont prises en charge. |
-T, --targets-file | Fichier contenant les cibles, une par ligne. Les entrées CIDR sont prises en charge. |
-p, --ports | Port ou plage de ports. Exemple : 6082, 443,6082, 6081-6083. |
--scheme | Schéma de sondage : https, http ou both. Défaut : https. |
--pan-os-ver | Version PAN-OS auto-déclarée, telle que 10.2.4-h2. |
--timeout | Délai d'expiration du socket en secondes. Défaut : 4.0. |
--max-bytes | Nombre maximal d'octets de réponse à lire par requête. Défaut : 16384. |
--minimal | Sonder uniquement / et /php/login.php. |
--verbose | Afficher toutes les observations de requêtes. |
--quiet | Réduire la sortie console. |
--json-out | Écrire les résultats complets dans un fichier JSON. |
--csv-out | Écrire les résultats récapitulatifs dans un fichier CSV. |
L'outil produit trois principaux types d'évaluation :
| Niveau d'exposition | Signification |
|---|---|
LIKELY_EXPOSED_AUTH_PORTAL | Des indicateurs de type PAN-OS et de type portail d'authentification ont été observés sur un service HTTP(S) accessible. |
POSSIBLE_EXPOSED_AUTH_PORTAL | Les chemins liés au portail semblent accessibles et se comportent comme des gestionnaires d'application, mais le produit/la version PAN-OS ne peut pas être confirmé à distance. |
POSSIBLE_RESPONSE_PAGE_EXPOSURE | Un chemin lié au portail ou une page de réponse semble accessible, mais le produit/la version n'est pas confirmé. |
HTTP_SERVICE_REACHABLE_ACCESS_CONTROLLED | Le service HTTP(S) est accessible et contrôlé par accès, mais aucune empreinte de portail claire n'a été observée. |
HTTP_SERVICE_REACHABLE_UNIDENTIFIED | Le service HTTP(S) est accessible, mais aucun indicateur clair de portail PAN-OS/User-ID n'a été observé. |
TCP_REACHABLE_SERVICE_UNIDENTIFIED | La connexion TCP a réussi, mais aucune réponse HTTP claire n'a été observée. |
NOT_REACHABLE_FROM_THIS_SCANNER | L'hôte du scanner n'a pas pu atteindre le port cible. |
| Confiance | Signification |
|---|---|
HIGH | De forts indicateurs externes ont été observés, tels que des réponses 5xx/2xx/3xx liées au portail ou plusieurs chemins de portail renvoyant des réponses non-404. |
MEDIUM | Certains indicateurs de portail ou de page de réponse ont été observés, mais le service n'a pas pu être identifié avec certitude. |
LOW | Le service est accessible, mais les preuves de produit ou de portail sont faibles. |
| Statut | Interprétation |
|---|---|
2xx | Le chemin a renvoyé un contenu réussi. Cela peut indiquer un contenu de portail accessible. |
3xx | Le chemin a renvoyé une redirection. Cela peut indiquer un portail ou un flux de connexion accessible. |
403 | Le chemin existe ou est géré, mais l'accès est interdit. |
404 | Le chemin n'a pas été trouvé. C'est une preuve plus faible d'exposition. |
405 | Le chemin peut exister, mais la méthode HTTP n'est pas autorisée. C'est significatif pour les chemins liés au portail. |
5xx | La requête a probablement atteint la logique applicative et a provoqué une erreur côté serveur. C'est une preuve d'exposition plus forte, mais pas une preuve d'exploitabilité. |
| Statut de version | Signification |
|---|---|
AFFECTED_VERSION | La version PAN-OS fournie est concernée selon les seuils d'avis intégrés. |
POTENTIALLY_AFFECTED_VERSION | La version PAN-OS fournie appartient à une famille concernée mais ne répond pas clairement à un seuil corrigé répertorié. |
NOT_AFFECTED_FIXED_OR_NEWER | La version PAN-OS fournie semble atteindre ou dépasser un seuil corrigé. |
NOT_SUPPLIED | Aucune version PAN-OS n'a été fournie avec --pan-os-ver. |
UNKNOWN_FAMILY | La famille de version fournie n'est pas présente dans le tableau d'avis intégré. |
PARSE_ERROR | La version fournie n'a pas pu être analysée. |
| Statut de correctif | Signification |
|---|---|
AFFECTED_BY_VERSION | La version fournie est concernée selon le tableau des versions. |
POTENTIALLY_AFFECTED_BY_VERSION | La version fournie doit être traitée comme potentiellement concernée sauf confirmation contraire. |
LIKELY_FIXED_BY_VERSION | La version fournie semble corrigée ou plus récente selon le tableau des versions. |
UNKNOWN_VERSION_NOT_SUPPLIED | Aucune version n'a été fournie. |
UNKNOWN_PARSE_ERROR | La version fournie n'a pas pu être analysée. |
UNKNOWN_UNLISTED_FAMILY | La famille de version fournie n'est pas couverte par le tableau intégré. |
| Risque combiné | Signification |
|---|---|
HIGH | Des indicateurs d'exposition ont été observés et la version PAN-OS fournie est concernée. |
HIGH_OR_MEDIUM | Des indicateurs d'exposition ont été observés et la version PAN-OS fournie est potentiellement concernée. |
UNKNOWN_VERSION_EXPOSED_SURFACE | Des indicateurs d'exposition ont été observés, mais aucune version PAN-OS n'a été fournie. |
LOWER_BY_VERSION_BUT_EXPOSED | Des indicateurs d'exposition ont été observés, mais la version fournie semble corrigée ou plus récente. |
VERSION_AFFECTED_BUT_NOT_REACHABLE_FROM_THIS_SCANNER | La version fournie est concernée, mais cet hôte du scanner n'a pas pu atteindre le service. |
VERSION_AFFECTED_SERVICE_UNCONFIRMED | La version fournie est concernée, mais cette analyse n'a pas confirmé l'exposition du portail. |
LOWER_FROM_THIS_SCANNER | L'hôte du scanner n'a pas observé d'accessibilité. |
LOWER_BY_VERSION | La version fournie semble corrigée ou plus récente. |
UNKNOWN | Les preuves collectées sont insuffisantes pour une évaluation combinée fiable. |
Exemple de commande :
python3 panos_cve_2026_0300_diag.py \
-t 172.16.20.254 \
-p 6082 \
--pan-os-ver 10.2.4-h2 \
--verbose
Exemple de résultat :
[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
Cela signifie :
| Code de sortie | Signification |
|---|---|
0 | Aucune surface de portail probablement exposée n'a été détectée. |
1 | Une exposition possible ou probable a été détectée, ou une exposition a été observée avec un statut de version inconnu/concerné. |
2 | Erreur d'entrée, telle qu'une cible manquante ou un port invalide. |
Cet outil ne peut pas tout déterminer à partir du réseau seul.
Il ne peut pas confirmer directement :
Le résultat doit être traité comme un signal d'exposition et de triage, et non comme une preuve d'exploitabilité.
Si l'outil signale POSSIBLE_EXPOSED_AUTH_PORTAL, LIKELY_EXPOSED_AUTH_PORTAL ou HIGH, examinez les éléments suivants sur l'appareil PAN-OS :
Avis de sécurité Palo Alto Networks pour CVE-2026-0300 : https://security.paloaltonetworks.com/CVE-2026-0300
Portail des avis de sécurité Palo Alto Networks : https://security.paloaltonetworks.com/
Catalogue des vulnérabilités exploitées connues de la CISA : https://www.cisa.gov/known-exploited-vulnerabilities-catalog
Entrée de la base nationale des vulnérabilités du NIST : https://nvd.nist.gov/vuln/detail/CVE-2026-0300
Vérifiez toujours le dernier avis du fournisseur avant de prendre des décisions de production. Le tableau des versions concernées et corrigées de cet outil doit être examiné et mis à jour si Palo Alto Networks révise l'avis.
Cet outil est destiné à un usage défensif autorisé uniquement.