Description
NiceGUI is a Python-based UI framework. Prior to version 3.12.0, ui.restructured_text() renders reStructuredText server-side with Docutils without disabling file insertion directives. When a NiceGUI application passes attacker-controlled content to ui.restructured_text(), an attacker can use standard Docutils directives (include, csv-table with :file:, raw with :file:) to read local files readable by the NiceGUI server process. Applications that only pass trusted static strings to ui.restructured_text() are not affected. This issue has been patched in version 3.12.0.
Problem types
CWE-200: Exposure of Sensitive Information to an Unauthorized Actor
Product status
References
github.com/...icegui/security/advisories/GHSA-jfrm-rx66-g536
github.com/zauberzeug/nicegui/releases/tag/v3.12.0