重要情報サマリー バグ概要 バグの種別: CORS(Cross-Origin Resource Sharing)設定ミスによる機密情報漏洩。 影響を受けるシステム: PrivateGPT。大規模言語モデル(LLMs)を使用した、安全かつプライベートなクエリを実行できるAIソリューション。 影響を受けるバージョン コードベースのバージョン: 2025.04.23 以前のバージョン。 リリースバージョン: v0.6.2 以前のバージョン。 根本原因の分析 問題の核心: PrivateGPT の CORS 設定が緩すぎ、すべてのオリジンからのアプリケーションとのやり取りを許可しており、同一生成元ポリシー(Same-Origin Policy)に違反している。 設定ファイル: 内の CORS 設定が不適切であり、すべてのオリジンを信頼するためにワイルドカード()が使用されている。 観察された挙動 確認方法: 攻撃者は リクエストヘッダーを変更することで、設定ミスを確認した。 レスポンスヘッダー: および が表示され、任意のオリジンを信頼していることが示されている。 攻撃手法 シナリオ: ユーザーが機密文書を PrivateGPT にアップロードし、攻撃者は悪意のあるコードを用いてこれとやり取りし、パスワードなどの機密データを窃取する。 デモ: ローカルサーバーにデプロイされた PrivateGPT からパスワードを窃取する方法を示す、概念実証(PoC)へのリンクが提供されている。 影響 データ漏洩のリスク: ユーザーがアップロードした機密文書や認証情報が漏洩する可能性がある。 攻撃表面の拡大: 隔離環境に存在する場合でも、このバグにより無許可のアクセスが可能になる。 信頼性の低下: ユーザーはプライバシーとセキュリティ保護のために PrivateGPT に依存しているが、このようなバグはその信頼を損なう。 推奨対応策 1. 信頼できるオリジンの制限: 内でワイルドカード()を、厳格に制限された信頼済みドメインリストに置き換える。 2. 安全なデプロイメントの実践: 攻撃の暴露面を減らすため、厳格なネットワーク分割とアクセス制御を備えた環境で PrivateGPT をデプロイする。