CVE-2025-66469 NiceGUI Reflected XSS in ui.add_css, ui.add_scss, and ui.add_sass via Style Injection

Medium 6.1 Published Updated

Attackers can execute arbitrary JavaScript via reflected XSS in NiceGUI's CSS/SCSS/SASS injection functions due to lack of sanitization.

Exploited in the wild
Not known
Login needed
Not needed
Attackable
Over the internet
Victim action needed
A user has to click or open something
Fix
Available

What is CVE-2025-66469?

CVE-2025-66469 is a medium-severity cross-site scripting vulnerability in zauberzeug nicegui, published on 8 Dec 2025. An attacker can exploit it over the internet without logging in, and only if a user opens a file or follows a link.

Official description

NiceGUI is a Python-based UI framework. Versions 3.3.1 and below are vulnerable to Reflected XSS through its ui.add_css, ui.add_scss, and ui.add_sass functions. The functions lack proper sanitization or encoding for the JavaScript context they generate. An attacker can break out of the intended <style> or <script> tags by injecting closing tags (e.g., </style> or </script>), allowing for the execution of arbitrary JavaScript. This issue is fixed in version 3.4.0.

Weakness: CWE-79

Which versions are affected by CVE-2025-66469?

3 open source packages ship an affected version, including nicegui. It affects 1 product.

PackageAffectedFixed in
nicegui PyPIAll versions3.4.0
nicegui PyPIAll versions3.4.0
nicegui PyPIAll versions3.4.0

Products include Zauberzeug Nicegui.

How do I fix CVE-2025-66469?

Upgrade nicegui to 3.4.0 or later.

Escape output for the context it lands in and set a strict Content Security Policy. Upgrading the affected component is the real fix. More about Cross-site scripting.

Is CVE-2025-66469 being exploited?

It is not confirmed as exploited in the wild, but public exploit code for CVE-2025-66469 exists.

Sources

Also known as GHSA-72qc-wxch-74mg, PYSEC-2026-1697.

Is CVE-2025-66469 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free