Staging Environment: Content and features may be unstable or change without notice.
Search for packages
Package details: pkg:pypi/nicegui@2.22.2
purl pkg:pypi/nicegui@2.22.2
Next non-vulnerable version 3.10.0
Latest non-vulnerable version 3.12.0
Risk 10.0
Vulnerabilities affecting this package (13)
Vulnerability Summary Fixed by
VCID-3tv5-etjd-q3hr
Aliases:
CVE-2025-66469
GHSA-72qc-wxch-74mg
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.
3.4.0
Affected by 9 other vulnerabilities.
VCID-4bwj-5kq4-nfas
Aliases:
CVE-2026-21871
GHSA-7grm-h62g-5m97
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.
3.5.0
Affected by 5 other vulnerabilities.
VCID-6jca-vw6d-ubdp
Aliases:
CVE-2026-33332
GHSA-w5g8-5849-vj76
NiceGUI is a Python-based UI framework. Prior to version 3.9.0, NiceGUI's app.add_media_file() and app.add_media_files() media routes accept a user-controlled query parameter that influences how files are read during streaming. The parameter is passed to the range-response implementation without validation, allowing an attacker to bypass chunked streaming and force the server to load entire files into memory at once. With large media files and concurrent requests, this can lead to excessive memory consumption, degraded performance, or denial of service. This issue has been patched in version 3.9.0.
3.9.0
Affected by 1 other vulnerability.
VCID-77re-u8ec-8qdx
Aliases:
CVE-2026-21873
GHSA-mhpg-c27v-6mxr
NiceGUI is a Python-based UI framework. From versions 2.22.0 to 3.4.1, an unsafe implementation in the pushstate event listener used by ui.sub_pages allows an attacker to manipulate the fragment identifier of the URL, which they can do despite being cross-site, using an iframe. This issue has been patched in version 3.5.0.
3.5.0
Affected by 5 other vulnerabilities.
VCID-94cg-b1b8-f3ag
Aliases:
CVE-2025-53354
GHSA-8c95-hpq2-w46f
NiceGUI is a Python-based UI framework. Versions 2.24.2 and below are at risk for Cross-Site Scripting (XSS) when developers render unescaped user input into the DOM using ui.html(). NiceGUI did not enforce HTML or JavaScript sanitization, so applications that directly combine components like ui.input() with ui.html() or ui.chat_message with HTML content without escaping may allow attackers to execute arbitrary JavaScript in the user’s browser. Applications that do not pass untrusted input into ui.html() are not affected. This issue is fixed in version 3.0.0.
3.0.0
Affected by 12 other vulnerabilities.
VCID-9r69-v46g-nbea
Aliases:
CVE-2026-21872
GHSA-m7j5-rq9j-6jj9
NiceGUI is a Python-based UI framework. From versions 2.22.0 to 3.4.1, an unsafe implementation in the click event listener used by ui.sub_pages, combined with attacker-controlled link rendering on the page, causes XSS when the user actively clicks on the link. This issue has been patched in version 3.5.0.
3.5.0
Affected by 5 other vulnerabilities.
VCID-ch7g-e8bv-mkck
Aliases:
CVE-2026-25516
GHSA-v82v-c5x8-w282
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.
3.7.0
Affected by 3 other vulnerabilities.
VCID-cw8a-xpmx-kfh9
Aliases:
CVE-2026-25732
GHSA-9ffm-fxg3-xrhh
PYSEC-2026-95
NiceGUI is a Python-based UI framework. Prior to 3.7.0, NiceGUI's FileUpload.name property exposes client-supplied filename metadata without sanitization, enabling path traversal when developers use the pattern UPLOAD_DIR / file.name. Malicious filenames containing ../ sequences allow attackers to write files outside intended directories, with potential for remote code execution through application file overwrites in vulnerable deployment patterns. This design creates a prevalent security footgun affecting applications following common community patterns. Note: Exploitation requires application code incorporating file.name into filesystem paths without sanitization. Applications using fixed paths, generated filenames, or explicit sanitization are not affected. This vulnerability is fixed in 3.7.0.
3.7.0
Affected by 3 other vulnerabilities.
VCID-m48n-q2g3-4fgd
Aliases:
CVE-2026-21874
GHSA-mp55-g7pj-rvm2
NiceGUI is a Python-based UI framework. From versions v2.10.0 to 3.4.1, an unauthenticated attacker can exhaust Redis connections by repeatedly opening and closing browser tabs on any NiceGUI application using Redis-backed storage. Connections are never released, leading to service degradation when Redis hits its connection limit. NiceGUI continues accepting new connections - errors are logged but the app stays up with broken storage functionality. This issue has been patched in version 3.5.0.
3.5.0
Affected by 5 other vulnerabilities.
VCID-mtpf-xq2a-9ubk
Aliases:
CVE-2025-66645
GHSA-hxp3-63hc-5366
NiceGUI is a Python-based UI framework. Versions 3.3.1 and below are vulnerable to directory traversal through the App.add_media_files() function, which allows a remote attacker to read arbitrary files on the server filesystem. This issue is fixed in version 3.4.0.
3.4.0
Affected by 9 other vulnerabilities.
VCID-p7ts-gwhs-bqda
Aliases:
CVE-2025-66470
GHSA-2m4f-cg75-76w2
NiceGUI is a Python-based UI framework. Versions 3.3.1 and below are subject to a XSS vulnerability through the ui.interactive_image component of NiceGUI. The component renders SVG content using Vue's v-html directive without any sanitization. This allows attackers to inject malicious HTML or JavaScript via the SVG <foreignObject> tag whenever the image component is rendered or updated. This is particularly dangerous for dashboards or multi-user applications displaying user-generated content or annotations. This issue is fixed in version 3.4.0.
3.4.0
Affected by 9 other vulnerabilities.
VCID-wgp7-za8k-bqaq
Aliases:
CVE-2026-27156
GHSA-78qv-3mpx-9cqq
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.
3.8.0
Affected by 2 other vulnerabilities.
VCID-yjjx-r1vh-d3gn
Aliases:
CVE-2026-39844
GHSA-w8wv-vfpc-hw2w
NiceGUI is a Python-based UI framework. Prior to 3.10.0, Since PurePosixPath only recognizes forward slashes (/) as path separators, an attacker can bypass this sanitization on Windows by using backslashes (\) in the upload filename. Applications that construct file paths using file.name (a pattern demonstrated in NiceGUI's bundled examples) are vulnerable to arbitrary file write on Windows. This vulnerability is fixed in 3.10.0.
3.10.0
Affected by 0 other vulnerabilities.
Vulnerabilities fixed by this package (0)
Vulnerability Summary Aliases
This package is not known to fix vulnerabilities.

Date Actor Action Vulnerability Source VulnerableCode Version
2026-06-12T21:57:27.778210+00:00 GitLab Importer Affected by VCID-yjjx-r1vh-d3gn https://gitlab.com/gitlab-org/advisories-community/-/blob/main/pypi/nicegui/CVE-2026-39844.yml 38.6.0
2026-06-12T21:32:51.752604+00:00 GitLab Importer Affected by VCID-6jca-vw6d-ubdp https://gitlab.com/gitlab-org/advisories-community/-/blob/main/pypi/nicegui/CVE-2026-33332.yml 38.6.0
2026-06-12T21:04:39.626104+00:00 GitLab Importer Affected by VCID-wgp7-za8k-bqaq https://gitlab.com/gitlab-org/advisories-community/-/blob/main/pypi/nicegui/CVE-2026-27156.yml 38.6.0
2026-06-12T20:56:32.017810+00:00 GitLab Importer Affected by VCID-cw8a-xpmx-kfh9 https://gitlab.com/gitlab-org/advisories-community/-/blob/main/pypi/nicegui/CVE-2026-25732.yml 38.6.0
2026-06-12T20:56:29.769093+00:00 GitLab Importer Affected by VCID-ch7g-e8bv-mkck https://gitlab.com/gitlab-org/advisories-community/-/blob/main/pypi/nicegui/CVE-2026-25516.yml 38.6.0
2026-06-12T20:45:06.719501+00:00 GitLab Importer Affected by VCID-m48n-q2g3-4fgd https://gitlab.com/gitlab-org/advisories-community/-/blob/main/pypi/nicegui/CVE-2026-21874.yml 38.6.0
2026-06-12T20:45:05.514603+00:00 GitLab Importer Affected by VCID-4bwj-5kq4-nfas https://gitlab.com/gitlab-org/advisories-community/-/blob/main/pypi/nicegui/CVE-2026-21871.yml 38.6.0
2026-06-12T20:44:40.758976+00:00 GitLab Importer Affected by VCID-77re-u8ec-8qdx https://gitlab.com/gitlab-org/advisories-community/-/blob/main/pypi/nicegui/CVE-2026-21873.yml 38.6.0
2026-06-12T20:44:24.923218+00:00 GitLab Importer Affected by VCID-9r69-v46g-nbea https://gitlab.com/gitlab-org/advisories-community/-/blob/main/pypi/nicegui/CVE-2026-21872.yml 38.6.0
2026-06-12T20:39:18.825104+00:00 GitLab Importer Affected by VCID-mtpf-xq2a-9ubk https://gitlab.com/gitlab-org/advisories-community/-/blob/main/pypi/nicegui/CVE-2025-66645.yml 38.6.0
2026-06-12T20:39:02.189787+00:00 GitLab Importer Affected by VCID-3tv5-etjd-q3hr https://gitlab.com/gitlab-org/advisories-community/-/blob/main/pypi/nicegui/CVE-2025-66469.yml 38.6.0
2026-06-12T20:39:00.503047+00:00 GitLab Importer Affected by VCID-p7ts-gwhs-bqda https://gitlab.com/gitlab-org/advisories-community/-/blob/main/pypi/nicegui/CVE-2025-66470.yml 38.6.0
2026-06-12T20:22:55.674248+00:00 GitLab Importer Affected by VCID-94cg-b1b8-f3ag https://gitlab.com/gitlab-org/advisories-community/-/blob/main/pypi/nicegui/CVE-2025-53354.yml 38.6.0
2026-06-12T04:20:53.968938+00:00 Pypa Importer Affected by VCID-cw8a-xpmx-kfh9 https://github.com/pypa/advisory-database/blob/main/vulns/nicegui/PYSEC-2026-95.yaml 38.6.0
2026-06-11T21:04:59.614685+00:00 PyPI Importer Affected by VCID-cw8a-xpmx-kfh9 https://osv-vulnerabilities.storage.googleapis.com/PyPI/all.zip 38.6.0