
Exploit para CVE-2026-25732, um path traversal no FileUpload do NiceGUI que permite escrita arbitrária de arquivos sem autenticação. Inclui exemplos de uso para sobrescrever arquivos da aplicação ou implantar webshells.
Autor: Mohammed Idrees Banyamer
Contato:
Título do Exploit: Path Traversal no NiceGUI em FileUpload Levando a Gravação Arbitrária de Arquivos
Data: 2025-06-06
Testado em: NiceGUI ≤ 3.6.1 (Python 3.8 – 3.12 em Linux / Windows)
Corrigido em: NiceGUI 3.7.0
CVE: CVE-2026-25732
Fraqueza: CWE-22 — Limitação Incorreta de um Nome de Caminho para um Diretório Restrito
Vetor de Ataque: Rede
Privilégios Necessários: Nenhum
Interação do Usuário: Nenhuma
Plataforma: Aplicação Web (NiceGUI / Python)
As versões do NiceGUI ≤ 3.6.1 não sanitizam corretamente o campo name dos arquivos enviados no manipulador ui.upload() / FileUpload quando o desenvolvedor da aplicação usa o nome original do arquivo no caminho de salvamento sem sanitização adicional.
Isso permite que um atacante não autenticado grave arquivos arbitrários em qualquer lugar onde o processo do NiceGUI tenha permissões de gravação, por meio de sequências de path traversal (../, caminhos absolutos, etc.).
Exemplos comuns de impacto:
app.py / main.py → execução de código na recarga/reinicialização da aplicação/etc/, diretórios pessoais, .ssh/, pastas de configuração, etc.#!/usr/bin/env python3
"""
CVE-2026-25732 — Gravação arbitrária de arquivos no NiceGUI (path traversal)
Explora o FileUpload.name não sanitizado quando a aplicação o usa no caminho de salvamento.
Uso:
python exploit_cve_2026_25732.py http://target:8080 "../etc/passwd" payload.txt
python exploit_cve_2026_25732.py http://target:8080 "../app.py" malicious_app.py
python exploit_cve_2026_25732.py http://target:8080 "nicegui/../../../etc/crontab" revshell-cron
"""