Label Studio の XSS 脆弱性 CVE-2025-47783 が FIX:任意の JavaScript の挿入/実行

XSS Vulnerability Discovered in Label Studio: Update Now!

2025/05/19 SecurityOnline — 機械学習モデルのデータセットにアノテーションを付与するために、広く用いられる OSS データ・ラベリング・ツール Label Studio に、反射型クロスサイト・スクリプティング (XSS) の脆弱性が存在することを、研究者たちが明らかにした。Label Studio のバージョン 1.18.0 未満に影響を及ぼす、脆弱性 CVE-2025-47783 を悪用する攻撃者は、ユーザー・セッションのコンテキストで、任意の JavaScript 挿入/実行の可能性を得るという。

Human Signal の公式アドバイザリには、「この脆弱性により、攻撃者は Webページのコンテキストに悪意のスクリプトの挿入を達成し、データの窃取/ユーザーを装う不正操作などの攻撃を引き起こす可能性を手にする」と記されている。

この脆弱性は、POST リクエストを介して “/projects/upload-example/” エンドポイントに受け渡される、”label_config” パラメータの処理に起因する。具体的に言うと、”label_studio/projects/views.py” ファイル内の安全が確保されない HttpResponse 呼び出しを介して、レスポンスが返されるという状況である。

response = HttpResponse(json.dumps(task_data))

このパラメータは、適切にサニタイズ/エスケープされてないため、ペイロードに埋め込まれた悪意の JavaScript が、ブラウザ内で実行されるという可能性が生じる。

アドバイザリでは、「この脆弱性は、POST “/projects/upload-example/” エンドポイントへ向けて、問題のある形式のリクエストを送信することで再現可能である」と説明されている。

単純な POST リクエストまたは、悪意の HTML フォームにより、この脆弱性がトリガーされる可能性がある。たとえば、以下のエンコードされたペイロードでは、デモ用の無害な JavaScript アラート(1) が挿入されている。

POST /projects/upload-example/ HTTP/1.1
Host: {host}
Content-Type: application/x-www-form-urlencoded
Content-Length: 67

label_config=%3cView%3e%3cText%20name%3d%22text%22%20value%3d%22$textjmwwi%26lt%3bscript%26gt%3balert(1)%26lt%3b%2fscript%26gt%3bs8m37%22%2f%3e%3c%2fView%3e

このペイロードを、脆弱な Label Studio インスタンスに自動送信するスタンドアロンの HTML ページを、攻撃者は作成できる。それにより、悪意のページに被害者がアクセスする場合に、リモートからの攻撃が可能になる。

Label Studio のセッション Cookie は、http 専用としてマークされているため、JavaScript による Cookie 窃取は防止されるが、この脆弱性を悪用する攻撃者は、以下の操作を可能にする:

  • Label Studio セッション内での意図しない操作をユーザーに実行させる。
  • プロジェクト設定に誤解を招くコンテンツを挿入する。
  • 後続の JavaScript コードを通じて、機密性の高いラベル付けデータをリダイレクト/窃取する。

すべてのユーザーに対して強く推奨されるのは、Label Studio バージョン 1.18.0 以降への速やかなアップデートである。

オープンソースのデータ・ラベリング・ツールである Label Studio に、深刻な XSS 脆弱性が発見されました。この脆弱性が悪用されると、データの盗難やユーザーを装う不正操作などに至る可能性があるとのことです。ご利用のチームは、アップデートをお急ぎください。よろしければ、カテゴリ _AI/MLカテゴリ _OpenSource も、ご参照ください。