CVE-2025-66645 NiceGUI Path Traversal Vulnerability in app.add_media_files() Allows Arbitrary File Reading
A remote attacker can read arbitrary files on the server filesystem via directory traversal in NiceGUI's add_media_files function.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2025-66645?
CVE-2025-66645 is a high-severity path traversal vulnerability in zauberzeug nicegui, published on 9 Dec 2025. An attacker can exploit it over the internet without logging in, with no action from the victim.
Official description
NiceGUI is a Python-based UI framework. Versions 3.3.1 and below are vulnerable to directory traversal through the App.add_media_files() function, which allows a remote attacker to read arbitrary files on the server filesystem. This issue is fixed in version 3.4.0.
Weakness: CWE-22
Which versions are affected by CVE-2025-66645?
3 open source packages ship an affected version, including nicegui. It affects 1 product.
| Package | Affected | Fixed in |
|---|---|---|
nicegui PyPI | All versions | 3.4.0 |
nicegui PyPI | All versions | 3.4.0 |
nicegui PyPI | All versions | 3.4.0 |
Products include Zauberzeug Nicegui.
How do I fix CVE-2025-66645?
Upgrade nicegui to 3.4.0 or later.
Upgrade, and resolve every user-supplied path against an allowed base folder before opening it. More about Path traversal.
Is CVE-2025-66645 being exploited?
It is not confirmed as exploited in the wild, but public exploit code for CVE-2025-66645 exists.
Public exploit code: 1 proofs of concept on GitHub.
Other vulnerabilities in zauberzeug nicegui
- CVE-2026-25732 NiceGUI's Path Traversal via Unsanitized FileUpload.name Enables Arbitrary File Write
- CVE-2026-21873 Zero-click XSS in all NiceGUI apps which uses `ui.sub_pages`
- CVE-2026-33332 NiceGUI's unvalidated chunk size parameter in media routes can cause memory exhaustion
- CVE-2026-27156 NiceGUI has XSS via Code Injection
- CVE-2026-25516 NiceGUI's XSS vulnerability in ui.markdown() allows arbitrary JavaScript execution through unsanitized HTML content
Sources
Also known as GHSA-hxp3-63hc-5366, PYSEC-2026-1700.