🇰🇷 한글 설명
Open WebUI 0.10.0 미만 버전에서 발생하는 취약점으로, 인증된 사용자가 다른 사용자의 session_id를 알아낼 경우 해당 세션에서 Python 코드나 도구를 실행할 수 있습니다. 이는 get_event_call 함수가 세션 연결 여부만 확인하고 세션 소유권을 검증하지 않아 발생합니다.
💡 쉬운 설명
로그인한 사용자가 다른 사용자의 세션 ID를 가로채서 그 사용자의 권한으로 파이썬 코드를 실행하거나 도구를 마음대로 조작할 수 있는 보안 결함입니다. 이를 통해 타인의 계정에서 원치 않는 동작을 수행할 수 있습니다.
🇺🇸 원문 (English)
Open WebUI is an extensible, feature-rich, and user-friendly self-hosted AI platform. Prior to 0.10.0, get_event_call delivered execute:python and execute:tool Socket.IO events to a client-supplied session_id after checking only that the session was connected, allowing authenticated users who learned another socket ID through ydoc:document:join to run code interpreter Python or tools in that user session. This issue is fixed in version 0.10.0.
📍 영향받는 시스템
Open WebUI 0.10.0 미만 모든 버전
⚔️ 공격 벡터
인증된 사용자가 ydoc:document:join 이벤트를 통해 타인의 socket ID를 획득한 후, Socket.IO 이벤트를 전송하여 코드 실행
🛡️ 대응 방법
Open WebUI를 최신 버전인 0.10.0 이상으로 업데이트하십시오.
🔧 검증 코드
출력된 버전 번호가 0.10.0보다 낮으면 취약한 상태이며, 0.10.0 이상이면 안전합니다.
python3 -c 'import pkg_resources; print(pkg_resources.get_distribution("open-webui").version)' 2>/dev/null || echo "not installed"