CVE-2026-27156 NiceGUI has XSS via Code Injection

Medium 6.1 Published Updated

Attackers can inject arbitrary JavaScript via user-controlled method names in NiceGUI APIs, leading to XSS in victim browsers.

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-2026-27156?

CVE-2026-27156 is a medium-severity cross-site scripting vulnerability in zauberzeug nicegui, published on 24 Feb 2026. 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. Prior to version 3.8.0, several NiceGUI APIs that execute methods on client-side elements (`Element.run_method()`, `AgGrid.run_grid_method()`, `EChart.run_chart_method()`, and others) use an `eval()` fallback in the JavaScript-side `runMethod()` function. When user-controlled input is passed as the method name, an attacker can inject arbitrary JavaScript that executes in the victim's browser. Additionally, `Element.run_method()` and `Element.get_computed_prop()` used string interpolation instead of `json.dumps()` for the method/property name, allowing quote injection to break out of the intended string context. Version 3.8.0 contains a fix.

Weakness: CWE-79

Which versions are affected by CVE-2026-27156?

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

PackageAffectedFixed in
nicegui PyPIAll versions3.8.0
nicegui PyPIAll versions3.8.0
nicegui PyPIAll versions3.8.0

Products include Zauberzeug Nicegui.

How do I fix CVE-2026-27156?

Upgrade nicegui to 3.8.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-2026-27156 being exploited?

There is no known exploitation of CVE-2026-27156 in the wild and no public exploit code.

Sources

Also known as GHSA-78qv-3mpx-9cqq, PYSEC-2026-2232.

Is CVE-2026-27156 in your software?

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

Check your SBOMs for free