| 概要 |
Open WebUIは、完全にオフラインで動作するよう設計されたセルフホスト型の人工知能プラットフォームです。バージョン0.9.6以前では、backend/open_webui/utils/oauth.py::_process_picture_urlが初期URLに対してのみvalidate_url(picture_url)を呼び出し、その後allow_redirects=Falseを指定せずにaiohttp.ClientSession.get(picture_url, ...)を呼び出していました。aiohttpのデフォルト設定はallow_redirects=True、max_redirects=10であり、この関数はプロジェクトのAIOHTTP_CLIENT_ALLOW_REDIRECTS環境変数も渡していませんでした。そのため、有効なOAuth IdPのIDを持つ攻撃者は、302リダイレクトを利用して内部アドレスに転送される公開URLを送信し、自らのprofile_image_urlフィールドを介して内部のレスポンスボディを読み取ることが可能でした。この脆弱性はバージョン0.9.6で修正されました。
|