🇰🇷 한글 설명
NiceGUI 3.12.0 미만 버전에서 정적 자산을 제공하는 두 개의 FastAPI 경로가 파일 대신 디렉토리를 참조할 수 있는 취약점이 발견되었습니다. 인증 없이 접근 가능한 이 경로에 디렉토리 경로를 요청하면 Starlette의 FileResponse에서 처리되지 않은 RuntimeError가 발생하며, Uvicorn은 전체 트레이스백을 서버 로그에 기록합니다. 공격자는 이를 악용하여 로그 볼륨을 증폭시키고 디스크 및 로그 파이프라인 용량을 고갈시킬 수 있습니다.
💡 쉬운 설명
해커가 특수한 주소를 계속 요청하여 서버의 기록(로그) 파일을 엄청나게 크게 만드는 공격입니다. 이로 인해 서버의 저장 공간이 가득 차서 서비스가 멈출 수 있습니다.
🇺🇸 원문 (English)
NiceGUI is a Python-based UI framework. Prior to version 3.12.0, two FastAPI routes that serve per-component static assets in NiceGUI accept a sub-path parameter that may resolve to a directory rather than a file. Requests that resolve to a directory raise an unhandled RuntimeError inside Starlette's FileResponse, which Uvicorn writes to the server log as a full traceback. Because the routes are reachable without authentication, a remote attacker can amplify log volume and consume disk and log-pipeline capacity on any publicly reachable NiceGUI server. This issue has been patched in version 3.12.0.
📍 영향받는 시스템
NiceGUI version < 3.12.0
⚔️ 공격 벡터
인증 없이 공개된 FastAPI 경로에 디렉토리를 가리키는 하위 경로 파라미터를 전송하여 로그 트레이스백 유도
🛡️ 대응 방법
NiceGUI를 버전 3.12.0 이상으로 업데이트하십시오.
🔧 검증 코드
출력된 버전 번호가 3.12.0 미만이면 취약한 상태입니다.
pip show nicegui | grep Version