Cyber Resilience

CVE-2026-39844

Path Traversal in Zauberzeug Nicegui ≤ 3.10.0

Published
08 April 2026
Modified
24 July 2026
Patch / advisory
CVSS Score v3.1 5.9
Click a component to see what it means
Raw vectorCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:N
EPSS Score 0.0037 30th percentile
Risk Priority 45 floored blend · peak EPSS

Summary

CVE-2026-39844 is a medium-severity Path Traversal (CWE-22) vulnerability in Zauberzeug Nicegui. Its CVSS base score is 5.9 (Medium).

Operationally, exploitation aligns with the MITRE ATT&CK technique Exploit Public-Facing Application (T1190); ranked at the 30th percentile by exploit likelihood (below the median); it is not currently listed in the CISA KEV catalog.

The strongest mitigations our analysis identified map to AC-3 (Access Enforcement) and SI-10 (Information Input Validation) — see the control section below for these in your framework.

Deeper analysis AI-assisted summary

Synthesised by an AI model from the NVD description and linked references — a reading aid, not an authoritative source.

CVE-2026-39844 is a path traversal vulnerability (CWE-22) affecting NiceGUI, a Python-based UI framework, in versions prior to 3.10.0. The issue stems from the use of PurePosixPath for sanitizing uploaded filenames, which only recognizes forward slashes (/) as path separators and fails to handle backslashes (\) on Windows systems. Applications that construct file paths directly from the uploaded file.name attribute, as shown in NiceGUI's bundled examples, are vulnerable to arbitrary file writes outside the intended directory on Windows hosts.

A remote, unauthenticated attacker can exploit this vulnerability over the network by uploading a malicious file with backslashes in its filename, bypassing path normalization. This requires high attack complexity (AC:H per CVSS v3.1 score of 5.9), such as crafting a precise filename to traverse directories. Successful exploitation enables arbitrary file writes on the server (I:H), potentially allowing attackers to overwrite critical files, though it does not grant confidentiality or availability impact (C:N/A:N).

The vulnerability is addressed in NiceGUI version 3.10.0, where the sanitization logic was updated via commit d38a702e3af2da5b0708f689be8d71413fc77056. Security practitioners should upgrade to 3.10.0 or later and review applications for direct use of file.name in path construction, implementing additional platform-agnostic path normalization (e.g., using pathlib.Path with proper resolution) as a mitigation. Further details are available in the NiceGUI security advisory (GHSA-w8wv-vfpc-hw2w) and release notes.

OWASP Top 10 for Web (2025)

EU & UK References

Vulnerability Data

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…

more

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.

CWE(s)

Related Threats

MITRE ATT&CK Enterprise Techniques

T1190 Exploit Public-Facing Application Initial Access
Adversaries may attempt to exploit a weakness in an Internet-facing host or system to initially access a network.
Derived from this CVE’s CWE(s) via the direct CWE→ATT&CK cross-walk.

CVEs Like This One

CVE-2026-25732Same product: Zauberzeug Nicegui
CVE-2025-66645Same product: Zauberzeug Nicegui
CVE-2024-24749Same product: Microsoft Windows
CVE-2024-7263Same product: Microsoft Windows
CVE-2025-63372Same product: Microsoft Windows
CVE-2025-11001Same product: Microsoft Windows
CVE-2024-42474Same product: Microsoft Windows
CVE-2023-41747Same product: Microsoft Windows
CVE-2019-18187Same product: Microsoft Windows
CVE-2023-4593Same product: Microsoft Windows

Affected Assets

zauberzeug
nicegui
≤ 3.10.0

Mitigating Controls

Control response

Prevent
Stop it (NIST 800-53)

Detect
Catch it (NIST detect / respond)

Harden
Shrink the surface (DISA STIG)

Validate
Prove the fix (OWASP ASVS)
  • V5.3.2

Mitigating Controls (NIST 800-53 r5) AI

Enforces the intended directory access authorizations that path traversal would otherwise bypass.

Input validation directly neutralizes special path elements before pathname construction occurs.

Least privilege reduces the impact of any unauthorized file access obtained via traversal.

Mitigating Controls (NIST CSF 2.0) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→CSF cross-walk (authority under review) — links open the control.

PR.PS-02 partial match
prevents

Patching/maintenance can remediate known path-traversal flaws in deployed software (partial prevention of exploitability) but does nothing to stop the coding defect from being introduced in the first place.

PR.AA-05 none match
prevents

PR.AA-05 defines and reviews access policies but does not address code-level pathname neutralization, so neither direction prevents CWE-22.

Mitigating Controls (ISO/IEC 27001:2022 Annex A) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→ISO cross-walk (authority under review) — links open the control.

finds

Security testing in development catches path traversal via static/dynamic analysis.

prevents

Secure SDLC mandates input validation and path sanitization that directly prevent path traversal.

prevents

Application security requirements include rules for safe file handling and canonicalization.

prevents

Secure architecture principles require least-privilege file access and directory isolation.

prevents

Secure coding standards explicitly forbid unsafe path construction and mandate safe APIs.

mitigates

Information access restriction limits which files an application may read or write.

References