Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1336 CNY

100%

CVE-2026-21871— NiceGUI is vulnerable to XSS via Unescaped URL in ui.navigate.history.push() / replace()

Quick assessment

Affected
zauberzeug nicegui
Exploitation
No confirmed in-the-wild exploitation; assess based on exposure
Recommended action
Check the vendor advisory and references for a fixed version. If immediate upgrade is impossible, restrict exposure and increase monitoring.

NiceGUI是NiceGUI开源的一个易于使用、基于 Python 的 UI 框架。 NiceGUI 2.13.0版本至3.4.1版本存在跨站脚本漏洞,该漏洞源于ui.navigate.history.push或replace函数存在跨站脚本风险。

CVSS 6.1 · Medium EPSS 0.25% · P16

Possible ATT&CK Techniques 1 AI

T1059.007 · JavaScript
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2026-21871

Vulnerability Information

Have questions about the vulnerability? See if Shenlong's analysis helps!
View Shenlong Deep Dive ↗

Although we use advanced large model technology, its output may still contain inaccurate or outdated information.Shenlong tries to ensure data accuracy, but please verify and judge based on the actual situation.

Vulnerability Title
NiceGUI is vulnerable to XSS via Unescaped URL in ui.navigate.history.push() / replace()
Source: CVE Program / CVE List V5
Vulnerability Description
NiceGUI is a Python-based UI framework. From versions 2.13.0 to 3.4.1, there is a XSS risk in NiceGUI when developers pass attacker-controlled strings into ui.navigate.history.push() or ui.navigate.history.replace(). These helpers are documented as History API wrappers for updating the browser URL without page reload. However, if the URL argument is embedded into generated JavaScript without proper escaping, a crafted payload can break out of the intended string context and execute arbitrary JavaScript in the victim’s browser. Applications that do not pass untrusted input into ui.navigate.history.push/replace are not affected. This issue has been patched in version 3.5.0.
Source: CVE Program / CVE List V5
CVSS Information
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
Source: CVE Program / CVE List V5
Vulnerability Type
在Web页面生成时对输入的转义处理不恰当(跨站脚本)
Source: CVE Program / CVE List V5
Vulnerability Title
NiceGUI 跨站脚本漏洞
Source: CNNVD (China National Vulnerability Database)
Vulnerability Description
NiceGUI是NiceGUI开源的一个易于使用、基于 Python 的 UI 框架。 NiceGUI 2.13.0版本至3.4.1版本存在跨站脚本漏洞,该漏洞源于ui.navigate.history.push或replace函数存在跨站脚本风险。
Source: CNNVD (China National Vulnerability Database)
CVSS Information
N/A
Source: CNNVD (China National Vulnerability Database)
Vulnerability Type
N/A
Source: CNNVD (China National Vulnerability Database)

Affected Products

Vendor Product Affected Versions CPE Subscribe
zauberzeug nicegui >= 2.13.0, < 3.5.0 -

II. Public POCs for CVE-2026-21871

# POC Description Source Link Shenlong Link
AI-Generated POC Premium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2026-21871

登录查看更多情报信息。

Vendor Advisories for CVE-2026-21871 (1)

Other References for CVE-2026-21871 (1)

Same Patch Batch · zauberzeug · 2026-01-08 · 4 CVEs total

CVE-2026-21873 7.2 HIGH Zero-click XSS in all NiceGUI apps which uses `ui.sub_pages`
CVE-2026-21872 6.1 MEDIUM NiceGUI apps are vulnerable to XSS which uses `ui.sub_pages` and render arbitrary user-pro
CVE-2026-21874 5.3 MEDIUM NiceGUI has Redis connection leak via tab storage causes service degradation

IV. Related Vulnerabilities

V. Comments for CVE-2026-21871

No comments yet


Leave a comment