Skip to content
MediumVulnerability

GHSA-pq7c-x8g4-rvp6: NiceGUI: Unauthenticated log-volume denial of service in dynamic resource routes

Published
Record updated
View JSON
Affected
  • nicegui <= 3.11.1
Fixed in
3.12.0
  • released May 12, 2026, 6 days before disclosure
Known exploitation
Not listed in the CISA Known Exploited Vulnerabilities catalog at the last check.
EPSS
0.3%

Summary

Two FastAPI routes in NiceGUI, the per-component resource route (added in v1.4.6) and the ESM module route (added in v3.0.0), accept a sub-path that can resolve to a directory. The existence check uses pathlib.Path.exists(), which returns True for directories, so the request passes the guard and raises an unhandled RuntimeError inside Starlette's FileResponse, which Uvicorn logs as a full traceback. Because the routes need no authentication, a remote attacker can inflate log volume and consume disk and log-pipeline capacity, with no confidentiality or integrity impact.

Mitigation

Upgrade NiceGUI. For deployments that cannot upgrade immediately: place NiceGUI behind a reverse proxy that rejects requests where the path after /_nicegui/<version>/esm/<key>/ or /_nicegui/<version>/resources/<key>/ is empty; rate-limit the /_nicegui/ prefix at the proxy; and configure log rotation aggressively for the affected service.