Description
NiceGUI is a Python-based UI framework. The ui.markdown() component uses the markdown2 library to convert markdown content to HTML, which is then rendered via innerHTML. By default, markdown2 allows raw HTML to pass through unchanged. This means that if an application renders user-controlled content through ui.markdown(), an attacker can inject malicious HTML containing JavaScript event handlers. Unlike other NiceGUI components that render HTML (ui.html(), ui.chat_message(), ui.interactive_image()), the ui.markdown() component does not provide or require a sanitize parameter, leaving applications vulnerable to XSS attacks. This vulnerability is fixed in 3.7.0.
References (2)
Core 2
Core References
Vendor Advisory x_refsource_confirm
https://github.com/zauberzeug/nicegui/security/advisories/GHSA-v82v-c5x8-w282
Scores
CVSS v3
6.1
EPSS
0.0002
EPSS Percentile
5.8%
Attack Vector
NETWORK
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
CISA SSVC
Vulnrichment
Exploitation
none
Automatable
no
Technical Impact
partial
Details
CWE
CWE-79
Status
published
Products (2)
pypi/nicegui
0 - 3.7.0PyPI
zauberzeug/nicegui
< 3.7.0
Published
Feb 06, 2026
Tracked Since
Feb 18, 2026