
このツールは、対象のPAN-OSサービスがCVE-2026-0300に関連するネットワーク到達可能なサーフェスを露出している可能性があるかどうかを評価するための非破壊的露出調査ユーティリティです。
このツールは、許可された防御的セキュリティ検証、資産露出レビュー、および脆弱性トリアージを目的としています。このツールは脆弱性を悪用せず、メモリ破壊ペイロードを送信せず、対象デバイスのクラッシュや侵害を試みることもありません。
このツールは以下に関連する露出評価用に設計されています:
Palo Alto Networksによると、CVE-2026-0300はUser-ID認証ポータルが有効化され、信頼できないネットワークから到達可能なPAN-OS導入環境に影響します。PAシリーズおよびVMシリーズのファイアウォールが影響を受ける可能性があります。Prisma Access、Cloud NGFW、およびPanoramaは公式アドバイザリで影響を受けないと記載されています。
このツールは、対象がPAN-OSポータル関連サービスを露出しているように見えるかどうかを識別するために、安全なネットワークおよびHTTP(S)レベルのチェックを実行します。
チェックする内容:
--scheme bothまたは--scheme http使用時のHTTP到達可能性。HEADGETOPTIONS//php/login.php/php/uid.php/php/uidlogin.php/sslmgr/global-protect/login.esp--pan-os-verを使用した任意の自己申告PAN-OSバージョン評価。HTTPS証明書検証はデフォルトで無効になっています。これは、PAN-OS管理およびポータルサービスが自己署名またはプライベート発行の証明書を使用することが多いためです。
このツールは以下を行いません:
このツールは外部ネットワークから観測可能な露出評価と、--pan-os-verが指定された場合の自己申告バージョンに基づくリスク評価のみを提供します。
このツールは以下の質問に答えるのに役立ちます:
このツールは、スキャナホストが指定された対象とポートへのTCP接続を確立できるかどうかをチェックします。
出力例:
tcp=True
https=True
これは、対象ポートがスキャナホストから到達可能であり、HTTPS接続を受け入れていることを意味します。
このツールは安全なHTTP(S)リクエストを送信し、レスポンスステータスコードを記録します。
出力例:
HTTPS HEAD /: HTTP/1.1 403 Forbidden
HTTPS GET /php/uid.php: HTTP/1.1 500 Internal Server Error
これは、サービスが到達可能であり、HTTP(S)リクエストを処理していることを意味します。
このツールは、PAN-OSポータルまたはレスポンスページ機能に一般的に関連付けられるパスをチェックします。
例:
/php/login.php
/php/uid.php
/php/uidlogin.php
これらのパスからの非404レスポンスは、ポータル関連ハンドラがスキャナホストから到達可能であることを示す可能性があります。
このツールは、レスポンスヘッダー、タイトル、リダイレクト、クッキー、およびレスポンスボディサンプル内の軽量なテキストインジケータを探します。
インジケータの例:
palo alto
pan-os
globalprotect
captive portal
user-id
authentication portal
response page
これらのインジケータは、露出したサービスがPAN-OSポータル機能に関連しているという信頼性を高めます。
--pan-os-verが指定された場合、ツールは指定されたバージョンをスクリプトに埋め込まれた公式アドバイザリテーブルの影響を受ける/修正済みのしきい値と比較します。
例:
--pan-os-ver 10.2.4-h2
出力例:
patch_status: AFFECTED_BY_VERSION
version_status: AFFECTED_VERSION
combined_risk=HIGH
--pan-os-verが指定されていない場合、ツールは影響を受ける/修正済みのバージョンテーブルを表示し、バージョンステータスを不明として報告します。
このツールはPython標準ライブラリモジュールのみを使用します。
外部のPython依存関係は必要ありません。
python3 --version
推奨:
Python 3.8+
最小限のrequirements.txtを使用できます:
# 外部依存関係は不要です。
# このツールは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
デフォルトでは、ツールはすべての安全な既知のパスをプローブします。
--minimalを使用して以下のみをチェックします:
//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
targets.txtを作成します:
172.16.20.254
172.16.20.253
172.16.21.0/24
実行:
python3 panos_cve_2026_0300_diag.py \
-T targets.txt \
-p 6082 \
--json-out results.json
このツールは3つの主要なタイプの評価を生成します:
| 信頼性 | 意味 |
|---|---|
HIGH | ポータル関連の5xx/2xx/3xxレスポンスや複数のポータルパスが非404レスポンスを返すなど、強力な外部インジケータが観測された。 |
MEDIUM | 一部のポータルまたはレスポンスページのインジケータが観測されたが、サービスを確実に識別できなかった。 |
LOW | サービスは到達可能だが、製品またはポータルの証拠が弱い。 |
コマンド例:
python3 panos_cve_2026_0300_diag.py \
-t 172.16.20.254 \
-p 6082 \
--pan-os-ver 10.2.4-h2 \
--verbose
結果例:
[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
これは以下を意味します:
| 終了コード | 意味 |
|---|---|
0 | 露出している可能性が高いポータルサーフェスは検出されなかった。 |
1 | 可能性のあるまたは可能性が高い露出が検出されたか、不明/影響を受けるバージョンステータスで露出が観測された。 |
2 | 入力エラー(対象の欠落や無効なポートなど)。 |
このツールはネットワークだけからすべてを判断することはできません。
以下を直接確認することはできません:
結果は露出およびトリアージのシグナルとして扱うべきであり、悪用可能性の証明として扱うべきではありません。
ツールがPOSSIBLE_EXPOSED_AUTH_PORTAL、LIKELY_EXPOSED_AUTH_PORTAL、またはHIGHを報告した場合、PAN-OSデバイスで以下を確認してください:
CVE-2026-0300に関するPalo Alto Networksセキュリティアドバイザリ: https://security.paloaltonetworks.com/CVE-2026-0300
Palo Alto Networksセキュリティアドバイザリポータル: https://security.paloaltonetworks.com/
CISA既知の悪用された脆弱性カタログ: https://www.cisa.gov/known-exploited-vulnerabilities-catalog
NIST National Vulnerability Databaseエントリ: https://nvd.nist.gov/vuln/detail/CVE-2026-0300
本番環境での決定を行う前に、常に最新のベンダーアドバイザリを確認してください。このツールの影響を受ける/修正済みのバージョンテーブルは、Palo Alto Networksがアドバイザリを改訂した場合にレビューおよび更新する必要があります。
このツールは許可された防御的使用のみを目的としています。
| オプション | 説明 |
|---|
-t, --target | 対象IP、ホスト名、またはCIDR。カンマ区切り値に対応。 |
-T, --targets-file | 対象を含むファイル(1行に1つ)。CIDRエントリに対応。 |
-p, --ports | ポートまたはポート範囲。例:6082、443,6082、6081-6083。 |
--scheme | プローブスキーム:https、http、またはboth。デフォルト:https。 |
--pan-os-ver | 自己申告のPAN-OSバージョン(例:10.2.4-h2)。 |
--timeout | ソケットタイムアウト(秒)。デフォルト:4.0。 |
--max-bytes | リクエストごとに読み取る最大レスポンスバイト数。デフォルト:16384。 |
--minimal | /と/php/login.phpのみをプローブ。 |
--verbose | すべてのリクエスト観測結果を表示。 |
--quiet | コンソール出力を削減。 |
--json-out | 完全な結果をJSONファイルに書き込み。 |
--csv-out | 要約結果をCSVファイルに書き込み。 |
| 露出レベル | 意味 |
|---|
LIKELY_EXPOSED_AUTH_PORTAL | 到達可能なHTTP(S)サービス上でPAN-OS類似および認証ポータル類似のインジケータが観測された。 |
POSSIBLE_EXPOSED_AUTH_PORTAL | ポータル関連パスが到達可能でアプリケーションハンドラのように動作するが、PAN-OS製品/バージョンをリモートで確認できない。 |
POSSIBLE_RESPONSE_PAGE_EXPOSURE | ポータル関連パスまたはレスポンスページが到達可能に見えるが、製品/バージョンは確認されていない。 |
HTTP_SERVICE_REACHABLE_ACCESS_CONTROLLED | HTTP(S)サービスは到達可能でアクセス制御されているが、明確なポータルフィンガープリントは観測されなかった。 |
HTTP_SERVICE_REACHABLE_UNIDENTIFIED | HTTP(S)サービスは到達可能だが、明確なPAN-OS/User-IDポータルのインジケータは観測されなかった。 |
TCP_REACHABLE_SERVICE_UNIDENTIFIED | TCP接続は成功したが、明確なHTTPレスポンスは観測されなかった。 |
NOT_REACHABLE_FROM_THIS_SCANNER | スキャナホストは対象ポートに到達できなかった。 |
| ステータス | 解釈 |
|---|
2xx | パスが成功したコンテンツを返した。これは到達可能なポータルコンテンツを示す可能性がある。 |
3xx | パスがリダイレクトを返した。これは到達可能なポータルまたはログインワークフローを示す可能性がある。 |
403 | パスは存在するか処理されているが、アクセスが禁止されている。 |
404 | パスが見つからなかった。これは露出の弱い証拠である。 |
405 | パスは存在する可能性があるが、HTTPメソッドが許可されていない。これはポータル関連パスにとって意味がある。 |
5xx | リクエストはアプリケーションロジックに到達し、サーバー側エラーを引き起こした可能性が高い。これはより強い露出の証拠だが、悪用可能性の証明ではない。 |
| バージョンステータス | 意味 |
|---|
AFFECTED_VERSION | 指定されたPAN-OSバージョンは、埋め込まれたアドバイザリのしきい値によると影響を受ける。 |
POTENTIALLY_AFFECTED_VERSION | 指定されたPAN-OSバージョンは影響を受けるファミリーに属するが、記載された修正済みのしきい値を明確に満たしていない。 |
NOT_AFFECTED_FIXED_OR_NEWER | 指定されたPAN-OSバージョンは修正済みのしきい値を満たすか上回っているように見える。 |
NOT_SUPPLIED | --pan-os-verでPAN-OSバージョンが提供されていない。 |
UNKNOWN_FAMILY | 指定されたバージョンファミリーが埋め込まれたアドバイザリテーブルに存在しない。 |
PARSE_ERROR | 指定されたバージョンを解析できなかった。 |
| パッチステータス | 意味 |
|---|
AFFECTED_BY_VERSION | 指定されたバージョンはバージョンテーブルによると影響を受ける。 |
POTENTIALLY_AFFECTED_BY_VERSION | 指定されたバージョンは、特に確認されない限り影響を受ける可能性があるとして扱うべき。 |
LIKELY_FIXED_BY_VERSION | 指定されたバージョンはバージョンテーブルによると修正済みまたはそれ以降のように見える。 |
UNKNOWN_VERSION_NOT_SUPPLIED | バージョンが提供されていない。 |
UNKNOWN_PARSE_ERROR | 指定されたバージョンを解析できなかった。 |
UNKNOWN_UNLISTED_FAMILY | 指定されたバージョンファミリーは埋め込まれたテーブルでカバーされていない。 |
| 複合リスク | 意味 |
|---|
HIGH | 露出インジケータが観測され、指定されたPAN-OSバージョンが影響を受ける。 |
HIGH_OR_MEDIUM | 露出インジケータが観測され、指定されたPAN-OSバージョンが影響を受ける可能性がある。 |
UNKNOWN_VERSION_EXPOSED_SURFACE | 露出インジケータが観測されたが、PAN-OSバージョンが提供されていない。 |
LOWER_BY_VERSION_BUT_EXPOSED | 露出インジケータが観測されたが、指定されたバージョンは修正済みまたはそれ以降のように見える。 |
VERSION_AFFECTED_BUT_NOT_REACHABLE_FROM_THIS_SCANNER | 指定されたバージョンは影響を受けるが、このスキャナホストはサービスに到達できなかった。 |
VERSION_AFFECTED_SERVICE_UNCONFIRMED | 指定されたバージョンは影響を受けるが、このスキャンはポータル露出を確認しなかった。 |
LOWER_FROM_THIS_SCANNER | スキャナホストは到達可能性を観測しなかった。 |
LOWER_BY_VERSION | 指定されたバージョンは修正済みまたはそれ以降のように見える。 |
UNKNOWN | 収集された証拠は確実な複合評価には不十分である。 |