Python ライブラリ「unstructured」の URL パーティショニング機能において、深刻な SSRF(サーバサイドリクエストフォージェリ)の脆弱性が発見された。`partition()` 等の関数に渡される URL のホスト検証が不十分なため、攻撃者は任意の内部 IP アドレスやクラウドのメタデータエンドポイントに対してリクエストを送信させることができる。取得されたレスポンスはテキストとしてそのまま返されるため、内部ネットワーク上の機密データの完全な読み取りが可能である。本ライブラリは主要な AI エージェントフレームワークの基盤として広く普及しており、波及効果が非常に大きい。
対象ソフト
「unstructured」は、LLM(大規模言語モデル)アプリケーションでの利用を想定した、多様な形式のドキュメントを解析・構造化するためのライブラリである。LangChain や LlamaIndex などの主要な AI フレームワークにおいて、外部 URL からデータを読み込む際のデファクトスタンダードとして広く利用されている。
影響
攻撃者は内部ネットワーク上の HTTP サービス(Redis、Elasticsearch、Kubernetes API 等)の内容を読み取ることができる。また、クラウド環境(AWS, GCP, Azure)のメタデータサービスにアクセスし、一時的な認証情報や機密設定を奪取される恐れがある。その他、内部ネットワークの偵察活動にも悪用される可能性がある。
対応策
unstructured バージョン 0.24.0 以降にアップグレードすること。