🇰🇷 한글 설명
Open WebUI 0.9.5 미만 버전에서 발생하는 취약점으로, 파일 소유권 검증 없이 file_id를 통해 다른 사용자의 파일을 지식 베이스나 폴더에 연결할 수 있습니다. 공격자는 파일의 UUID를 알 경우 인증된 사용자 권한으로 타인의 개인 파일을 탈취하거나 지식 베이스 내용을 덮어쓸 수 있습니다.
💡 쉬운 설명
로그인한 사용자가 다른 사람이 올린 비밀 파일을 몰래 가져오거나 내용을 바꿀 수 있는 보안 구멍이 발견되었습니다. 파일의 고유 번호만 알면 남의 파일을 내 것처럼 사용할 수 있는 위험한 상태입니다.
🇺🇸 원문 (English)
Open WebUI is a self-hosted artificial intelligence platform designed to operate entirely offline. Prior to 0.9.5, multiple endpoints accept a user-supplied file_id and attach the referenced file to a resource the caller controls (folder knowledge, knowledge-base contents) without verifying that the caller owns or has been granted access to the file. The file's content then becomes reachable through the downstream RAG / file-content paths, allowing any authenticated user to exfiltrate any other user's private file — and on the knowledge-base path, also to overwrite it — given knowledge of the file's UUID. This affects backend/open_webui/routers/folders.py (POST /api/v1/folders/{id}/update), backend/open_webui/routers/knowledge.py (add_file_to_knowledge_by_id), and backend/open_webui/routers/knowledge.py (add_files_to_knowledge_by_id_batch). This vulnerability is fixed in 0.9.5.
📍 영향받는 시스템
Open WebUI 0.9.5 미만 모든 버전
⚔️ 공격 벡터
인증된 사용자가 파일 UUID를 이용해 권한이 없는 파일 ID를 API 엔드포인트에 전달하여 공격
🛡️ 대응 방법
Open WebUI를 최신 보안 패치가 적용된 0.9.5 버전 이상으로 업데이트
🔧 검증 코드
명령어 실행 결과가 'Vulnerable'이면 취약한 버전이며, 'Safe'이면 안전한 버전입니다.
curl -s http://localhost:8080/api/version | grep -E '0\.[0-9]\.[0-9]' | awk -F'"' '{print $4}' | awk -F. '$3 < 5 {print "Vulnerable"} $3 >= 5 {print "Safe"}'
📊 CVSS Vector String
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N
💻 영향받는 소프트웨어
IBM Security Verify Access