Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
Инструменты/GitHubGitHub/bishopfox/cve-2026-22557-check
РазведкаАнализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийСбор информацииТестирование на Проникновение
GitHubbishopfox/cve-2026-22557-check

CVE-2026-22557-check

Безопасно определите, уязвим ли контроллер UniFi Network Application к CVE-2026-22557.

Репозиторий
164 месяцев назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

Инструмент оценки уязвимости CVE-2026-22557

Безопасно определяет, уязвим ли контроллер UniFi Network Application для CVE-2026-22557, не вызывая никаких нарушений. Смотрите полный анализ в блоге Bishop Fox.

Описание

CVE-2026-22557 — это неаутентифицированная уязвимость обхода пути в гостевом captive-портале UniFi Network Application, которая позволяет удалённым злоумышленникам читать произвольные файлы от имени пользователя процесса контроллера (CVSS 10.0). Уязвимость затрагивает UniFi Network Application 10.1.85 и более ранние версии в ветке 10.1.x, а также соответствующие ранние выпуски в ветках 10.2.x и 9.0.x. Компания Ubiquiti выпустила исправления в версиях 10.1.89, 10.2.97 и 9.0.118 (SAB-062).

Рендерер страницы ошибки гостевого портала читает параметр запроса page_error и использует его дословно как относительный путь в загрузчике ресурсов портала, без какой-либо проверки. Когда для запрашиваемого сайта установлено portal_customized: true (такая конфигурация возникает у любого брендированного captive-портала, например, в гостиницах, розничных магазинах или кафе), загрузчик разрешает этот путь относительно каталога портала на диске, и путь может выйти за его пределы.

Данный инструмент выполняет неразрушающее тестирование уязвимости следующим образом:

  1. Читает заявленную версию контроллера из /status и сравнивает её с линиями исправлений SAB-062.
  2. Подтверждает, что гостевой портал обрабатывается по указанному URL.
  3. Проверяет параметр page_error на /guest/<site>/wechat/sign на глубине ../ от 1 до 8 с использованием имени файла с двойной ветвью, чтобы определить, срабатывает ли обход вообще.
  4. Если обход срабатывает, выполняет одно дополнительное чтение нечувствительного файла каталога среды выполнения (firmware.json), чтобы определить, активна ли ветвь файловой системы кастомизированного портала.

Инструмент запрашивает только файл каталога среды выполнения в качестве оракула активности ветви. Он не читает учётные данные, TLS-материалы, состояние базы данных или резервные копии и не выводит содержимое файлов на stdout или диск. Печатается только вердикт.

  • Уязвимые контроллеры с portal_customized: true на запрашиваемом сайте возвращают файл каталога на откалиброванной глубине, подтверждая VULNERABLE.
  • Частично открытые контроллеры, работающие на уязвимой сборке, но с portal_customized: false на запрашиваемом сайте, запускают обход на этапе калибровки, но не возвращают содержимое диска на этапе подтверждения → PARTIALLY EXPOSED. Двоичный файл приложения по-прежнему уязвим; требуется установка исправления, даже если этот сайт не находится в эксплуатируемом состоянии.
  • Исправленные контроллеры (10.1.89+ / 10.2.97+ / 9.0.118+) отвергают обход на любой глубине → NOT VULNERABLE.
  • Недоступные сайты или соединители выдают NOT EXPOSED.

Установка

git clone https://github.com/BishopFox/CVE-2026-22557-check
cd CVE-2026-22557-check

Требуется Python 3.9 или новее. Инструмент использует только стандартную библиотеку Python, поэтому шаг pip install не нужен.

Использование

Протестируйте контроллер UniFi Network Application по адресу <TARGET>. Укажите инструменту любой URL, через который достижим веб-интерфейс контроллера; уязвимый обработчик работает на административном порту (по умолчанию 8443/TCP), а также на выделенных портах гостевого портала (8843, 8880).

python3 cve_2026_22557_check.py <BASE_URL> [--site NAME]

Имя сайта по умолчанию — default. Развёртывания UniFi с несколькими сайтами должны запускать инструмент с --site <name> для каждого сайта. Контроллер становится эксплуатируемым, как только хотя бы один из его сайтов имеет portal_customized: true.

Примеры ниже используют --brief для получения результата одной строкой на хост. Запуск без --brief выводит полный баннер, пошаговый прогресс и блок результата, включающий рекомендуемые действия по исправлению.

Пример: Уязвимый контроллер

Контроллер работает на уязвимой сборке, и предварительное условие кастомизированного портала активно для запрашиваемого сайта, поэтому неаутентифицированный путь чтения доступен.

$ python3 cve_2026_22557_check.py https://192.168.1.100:8443 --brief
[VULNERABLE]        https://192.168.1.100:8443 site=default

Пример: Частично открытый контроллер

Контроллер работает на уязвимой сборке, но для запрашиваемого сайта не включено portal_customized: true, поэтому предварительное условие чтения с диска не выполнено для этого сайта. Двоичный файл приложения всё ещё требует исправления; другой сайт на том же контроллере может находиться в эксплуатируемом состоянии.

$ python3 cve_2026_22557_check.py https://192.168.1.100:8443 --brief
[PARTIAL]           https://192.168.1.100:8443 site=default

Пример: Исправленный контроллер

Контроллер работает на исправленной сборке (10.1.89, 10.2.97, 9.0.118 или новее), поэтому обход не срабатывает ни на одной запрашиваемой глубине.

$ python3 cve_2026_22557_check.py https://192.168.1.200:8443 --brief
[NOT VULNERABLE]    https://192.168.1.200:8443 site=default

Параметры

--site NAME       UniFi site slug to probe (default: "default")
--max-depth N     maximum ../ traversal depth to try (default: 8)
--no-tls-recon    skip TLS certificate subject/SAN display
--no-color        disable ANSI color output (also honored: NO_COLOR env var)
--timeout N       per-request timeout in seconds (default: 20)
--brief           print a single-line result, no banner or steps

Коды завершения: 0 VULNERABLE, 1 partially exposed / not vulnerable / not exposed, 2 transport error.

Предварительные условия

Инструмент может вернуть вердикт VULNERABLE только при выполнении следующих условий:

  • Цель работает на уязвимой сборке UniFi Network Application (10.1.85 или более ранней в ветке 10.1.x, или эквивалентные ранние выпуски в 10.2.x / 9.0.x).
  • Гостевой портал достижим по указанному URL. Обработчик /guest/* работает на административном порту (8443), а также на выделенных портах гостевого портала (8843, 8880); инструмент проверяет только тот URL, который ему передан.
  • Запрашиваемый сайт имеет portal_customized: true в своей настройке guest_access, что является предварительным условием для кодового пути чтения с диска. Контроллер с несколькими сайтами является эксплуатируемым, если хотя бы один из его сайтов имеет этот параметр включённым.

Если какое-либо условие не выполнено, инструмент переходит к более консервативному вердикту. Результат PARTIALLY EXPOSED всё равно означает, что приложение уязвимо и должно быть исправлено; просто запрошенный сайт не предоставляет пути чтения с диска.

Исправление

  1. Обновите UniFi Network Application до версии 10.1.89, 10.2.97, 9.0.118 или более новой.
  2. Если вы не можете немедленно установить исправление, ограничьте сетевой доступ к портам 8443 / 8843 / 8880 (и любым прокси-серверам перед ними) так, чтобы они были доступны только из доверенных управляющих сетей.
  3. После установки исправления смените все учётные данные, которые могли быть раскрыты пока контроллер был доступен: пароли администраторов, учётные данные SSH, которые контроллер передаёт управляемым устройствам, хранилище ключей TLS контроллера, общие секреты RADIUS, ключи VPN/WireGuard, материалы центра сертификации для SSL-инспекции, пароли SMTP-релеев и ключи платёжных шлюзов.

Обнаружение в ваших логах

Шаблон уязвимого запроса:

GET /guest/s/<site>/wechat/sign?page_error=<value>
Скачать инструмент