
Неразрушающий инструмент обследования для оценки поверхностей портала аутентификации PAN-OS User-ID, связанных с CVE-2026-0300, выполняющий безопасные проверки HTTP(S) и оценку рисков на основе версий.
Этот инструмент представляет собой неразрушающую утилиту обследования подверженности для оценки того, может ли целевой сервис PAN-OS предоставлять доступные из сети поверхности, связанные с CVE-2026-0300.
Инструмент предназначен для авторизованной защитной валидации безопасности, проверки подверженности активов и триажа уязвимостей. Он не эксплуатирует уязвимость, не отправляет полезные нагрузки повреждения памяти и не пытается вызвать сбой или скомпрометировать целевое устройство.
Этот инструмент предназначен для оценки подверженности, связанной с:
Согласно Palo Alto Networks, CVE-2026-0300 затрагивает развертывания PAN-OS, где портал аутентификации User-ID включен и доступен из ненадежных сетей. Межсетевые экраны PA-Series и VM-Series могут быть затронуты. Prisma Access, Cloud NGFW и Panorama указаны как не затронутые в официальном бюллетене.
Инструмент выполняет безопасные проверки на уровне сети и HTTP(S), чтобы определить, выглядит ли цель как предоставляющая сервисы, связанные с порталом PAN-OS.
Он проверяет:
--scheme both или --scheme http.HEADGETOPTIONS//php/login.php/php/uid.php/php/uidlogin.php/sslmgr/global-protect/login.esp--pan-os-ver.Проверка сертификатов 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, на этих путях могут указывать на то, что обработчики, связанные с порталом, доступны с хоста сканера.
Инструмент ищет легковесные текстовые индикаторы в заголовках ответов, заголовках страниц, перенаправлениях, cookie и образцах тела ответа.
Примеры индикаторов:
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
| Параметр | Описание |
|---|---|
-t, --target | Целевой IP, имя хоста или CIDR. Поддерживаются значения через запятую. |
-T, --targets-file | Файл, содержащий цели, по одной на строку. Поддерживаются записи 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 | Хост сканера не смог достичь целевого порта. |
| Уровень | Значение |
|---|---|
HIGH | Наблюдались сильные внешние индикаторы, такие как ответы 5xx/2xx/3xx, связанные с порталом, или несколько путей портала с ответами, отличными от 404. |
MEDIUM | Наблюдались некоторые индикаторы портала или страниц ответов, но сервис не может быть уверенно идентифицирован. |
LOW | Сервис доступен, но доказательства продукта или портала слабые. |
| Статус | Интерпретация |
|---|---|
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 не была указана с помощью --pan-os-ver. |
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 | Собранных доказательств недостаточно для уверенной комбинированной оценки. |
Пример команды:
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: Пути, связанные с порталом, выглядят доступными и ведут себя как обработчики приложений, но продукт/версия PAN-OS не может быть подтверждена удаленно.
patch_status: AFFECTED_BY_VERSION
version_status: AFFECTED_VERSION
pan_os_version: 10.2.4-h2
normalized_version: 10.2.4-h2
version_reason: Версия старше самого раннего исправленного порога 10.2.7-h34.
combined_reason: Наблюдались индикаторы подверженности, и указанная версия PAN-OS затронута согласно таблице версий.
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
- Путь PHP, связанный с порталом, вернул 5xx, что указывает на подверженность обработчика приложения.
- Несколько путей PHP, связанных с порталом, ответили статусами, отличными от 404: /php/login.php, /php/uid.php, /php/uidlogin.php
Это означает:
| Код выхода | Значение |
|---|---|
0 | Вероятная подверженность поверхности портала не обнаружена. |
1 | Обнаружена возможная или вероятная подверженность, или наблюдалась подверженность с неизвестным/затронутым статусом версии. |
2 | Ошибка ввода, например отсутствие цели или недопустимый порт. |
Этот инструмент не может определить все только по сети.
Он не может напрямую подтвердить:
Результат следует рассматривать как сигнал подверженности и триажа, а не как доказательство эксплуатируемости.
Если инструмент сообщает POSSIBLE_EXPOSED_AUTH_PORTAL, LIKELY_EXPOSED_AUTH_PORTAL или HIGH, проверьте следующее на устройстве PAN-OS:
Бюллетень безопасности Palo Alto Networks для CVE-2026-0300: https://security.paloaltonetworks.com/CVE-2026-0300
Портал бюллетеней безопасности Palo Alto Networks: https://security.paloaltonetworks.com/
Каталог известных эксплуатируемых уязвимостей CISA: https://www.cisa.gov/known-exploited-vulnerabilities-catalog
Запись Национальной базы данных уязвимостей NIST: https://nvd.nist.gov/vuln/detail/CVE-2026-0300
Всегда проверяйте последний бюллетень вендора перед принятием решений в производственной среде. Таблица затронутых и исправленных версий в этом инструменте должна быть проверена и обновлена, если Palo Alto Networks пересмотрит бюллетень.
Этот инструмент предназначен только для авторизованного защитного использования.