
CVE-2026-27944 - Download e descriptografia de backup sem autenticação do Nginx UI
CVE-2026-27944 - Download e descriptografia não autenticados de backup do Nginx UI
https://img.shields.io/badge/python-3.6+-blue.svg
https://img.shields.io/badge/license-MIT-green
https://img.shields.io/badge/PoC-Exploit-red
Um exploit de prova de conceito (PoC) para CVE-2026-27944, uma vulnerabilidade crítica no Nginx UI ≤ 2.3.2 que permite que qualquer atacante não autenticado baixe e descriptografe o arquivo de backup completo do servidor por meio do endpoint /api/backup.
O backup é criptografado com AES-256, mas a chave de criptografia e o Vetor de Inicialização (IV) são expostos em texto claro no cabeçalho de resposta HTTP X-Backup-Security, permitindo descriptografia imediata.
📦 Funcionalidades
info – Exibe informações detalhadas sobre a vulnerabilidade (descrição, causa raiz, impacto).
scan – Verificação leve para saber se um alvo é vulnerável (envia uma requisição HEAD e procura pelo cabeçalho X-Backup-Security).
exploit – Baixa o backup criptografado, extrai a chave/IV do cabeçalho, descriptografa os dados e os salva em um arquivo.
🚨Impacto
Se explorada, um atacante pode obter:
Credenciais de usuário e tokens de sessão (database.db)
Segredos da aplicação e chaves de API (app.ini)
Chaves privadas e certificados SSL (server.key, server.cert)
Configuração completa do Nginx (nginx.conf)
Chaves TLS para todos os domínios hospedados (diretório ssl/)
Isso normalmente leva ao comprometimento total do servidor e ao movimento lateral dentro da rede.
⚙️ Requisitos
Python 3.6+
biblioteca requests
pycryptodome (para descriptografia AES)
Instale as dependências com:
bash
pip install requests pycryptodome
🔧 Uso
text
usage: CVE-2026-27944.py [-h] {info,scan,exploit} ...
CVE-2026-27944 - Nginx UI Backup Exposure Scanner & Exploit
positional arguments:
{info,scan,exploit} Subcommands
info Display detailed information about the CVE
scan Check if a target is vulnerable
exploit Download and decrypt the backup
optional arguments:
-h, --help show this help message and exit
Exemplos
bash
python3 CVE-2026-27944.py info
bash
python3 CVE-2026-27944.py scan 192.168.1.100:9000
bash
python3 CVE-2026-27944.py exploit 192.168.1.100:9000 -o backup_decrypted.zip
O arquivo descriptografado geralmente é um arquivo ZIP – renomeie-o para .zip e inspecione seu conteúdo.
📚 Como Funciona
O script envia uma requisição HEAD para /api/backup para verificar a presença do cabeçalho X-Backup-Security.
Se encontrado, ele prossegue com uma requisição GET para baixar o backup criptografado.
O valor do cabeçalho contém a chave AES-256 e o IV codificados em Base64, separados por dois-pontos.
O script os decodifica, usa pycryptodome para descriptografar os dados (modo AES-256 CBC) e remove o preenchimento PKCS#7.
Os bytes descriptografados são salvos no arquivo de saída especificado.
⚠️ Aviso Legal
Esta ferramenta é fornecida apenas para fins educacionais e de pesquisa em segurança.
Testar sem autorização sistemas que você não possui ou para os quais não tem permissão explícita é ilegal. O autor não é responsável por qualquer uso indevido ou dano causado por este script.
🛡️ Mitigação
Se você estiver usando o Nginx UI, atualize imediatamente para a versão 2.3.3 ou posterior.
Além disso:
Rotacione todas as credenciais e segredos que possam ter sido expostos.
Regenere os certificados SSL/TLS.
Nunca exponha interfaces administrativas à internet pública – use firewalls ou VPNs.
📄 Licença
Este projeto é licenciado sob a Licença MIT – consulte o arquivo LICENSE para obter detalhes.
📬 Referências
MITRE CVE-2026-27944 (espaço reservado)
Entrada NVD (espaço reservado)
Site oficial do Nginx UI