Vulnerability 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.
CVSS Score
MEDIUM
Affected Products
| Vendor | Product | Versions |
|---|---|---|
| Zauberzeug | Nicegui | < 3.7.0 |
Related Weaknesses (CWE)
References
- https://github.com/zauberzeug/nicegui/commit/f1f7533577875af7d23f161ed3627f73584Patch
- https://github.com/zauberzeug/nicegui/security/advisories/GHSA-v82v-c5x8-w282ExploitMitigationVendor Advisory
FAQ
What is CVE-2026-25516?
CVE-2026-25516 is a vulnerability with a CVSS score of 6.1 (MEDIUM). 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 r...
How severe is CVE-2026-25516?
CVE-2026-25516 has been rated MEDIUM with a CVSS base score of 6.1/10. Review the CVSS metrics above for detailed severity breakdown.
Is there a patch for CVE-2026-25516?
Check the references section above for vendor advisories and patch information. Affected products include: Zauberzeug Nicegui.