NiceGUI is a Python-based UI framework. Prior to 3.7.0, NiceGUI's FileUpload.name property exposes client-supplied filename metadata without sanitization, enabling path traversal when developers use the pattern UPLOAD_DIR / file.name. Malicious filenames containing ../ sequences allow attackers to write files outside intended directories, with potential for remote code execution through application file overwrites in vulnerable deployment patterns. This design creates a prevalent security footgun affecting applications following common community patterns. Note: Exploitation requires application code incorporating file.name into filesystem paths without sanitization. Applications using fixed paths, generated filenames, or explicit sanitization are not affected. This vulnerability is fixed in 3.7.0.
https://github.com/zauberzeug/nicegui/security/advisories/GHSA-9ffm-fxg3-xrhh
https://github.com/zauberzeug/nicegui/blob/main/nicegui/elements/upload_files.py#L79-L82
https://github.com/zauberzeug/nicegui/blob/main/nicegui/elements/upload_files.py#L110-L115