CVE-2026-21873CWE-79

Zero-click XSS in all NiceGUI apps which uses `ui.sub_pages`

High · published January 8, 2026

CVSS v3.1
7.2
EPSS
0%
Percentile
16.8
In the wild
Unconfirmed
What it is

⚡ An iframe can turn into a sneaky URL manipulator! An attacker can exploit a flaw in NiceGUI's pushstate event listener, making it possible to tamper with the fragment identifier in the URL. 🔥 Think of it like a restaurant menu that's editable by any customer—an attacker could change the dish names and prices to confuse ordering! This means your app’s URL can be altered without proper checks, potentially leading to deceptive navigation. An attacker leveraging this gap could mislead users to malicious sites or present false information, significantly damaging trust and user experience. Imagine losing your customers due to a cleverly disguised phishing attempt happening right under their noses!

Put simply

Think of it like a restaurant menu that's editable by any customer—an attacker could change the dish names and prices to confuse ordering! This means your app’s URL can be altered without proper checks, potentially leading to deceptive navigation. The vulnerability in NiceGUI arises from the unsafe handling of the pushstate event listener, allowing unauthorized manipulation of URLs through cross-site iframes, even from different domains.

What to do

An attacker leveraging this gap could mislead users to malicious sites or present false information, significantly damaging trust and user experience. Imagine losing your customers due to a cleverly disguised phishing attempt happening right under their noses! To secure your application, upgrade NiceGUI to version 3.5.0 immediately to close this critical gap. Additionally, review your URL handling and iframe security practices to prevent similar vulnerabilities in the future. You've got this! Secure your app and keep your users safe! 🛡️

The record
Technical detail
CVSS v3.1
7.2 · HIGH
Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N
CVSS v4.0
Not supplied
EPSS
0.00260 · 16.8th percentile
Weakness
CWE-79 · Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')
Published
2026-01-08T09:50Z
EPSS history
Timeline
  • 08 JAN 09:50Z
    Zero-click XSS in all NiceGUI apps which uses `ui.sub_pages`
    cvelistv5