🇰🇷 한글 설명
NiceGUI 3.12.0 미만 버전에서 ui.restructured_text() 함수가 Docutils의 파일 삽입 지시어를 비활성화하지 않고 서버 측에서 렌더링하는 취약점이 발견되었습니다. 공격자가 제어 가능한 콘텐츠를 전달할 경우, include나 csv-table 등의 지시어를 사용하여 서버의 로컬 파일을 읽을 수 있습니다.
💡 쉬운 설명
웹 화면을 만드는 도구인 NiceGUI의 특정 기능이 외부에서 입력된 명령어를 제대로 검사하지 못하는 문제입니다. 이를 통해 해커가 서버 안에 저장된 중요한 문서나 설정 파일을 몰래 훔쳐볼 수 있습니다.
🇺🇸 원문 (English)
NiceGUI is a Python-based UI framework. Prior to version 3.12.0, ui.restructured_text() renders reStructuredText server-side with Docutils without disabling file insertion directives. When a NiceGUI application passes attacker-controlled content to ui.restructured_text(), an attacker can use standard Docutils directives (include, csv-table with :file:, raw with :file:) to read local files readable by the NiceGUI server process. Applications that only pass trusted static strings to ui.restructured_text() are not affected. This issue has been patched in version 3.12.0.
📍 영향받는 시스템
NiceGUI version < 3.12.0
⚔️ 공격 벡터
사용자 입력값이 포함된 reStructuredText 콘텐츠를 ui.restructured_text() 함수로 전달하여 파일 읽기 지시어 실행
🛡️ 대응 방법
NiceGUI를 최신 버전인 3.12.0 이상으로 업데이트하십시오.
🔧 검증 코드
출력된 버전 번호가 3.12.0보다 낮으면 취약한 상태입니다.
pip show nicegui | grep Version