CVE-2023-47115 in label-studio情報

要約

〜によって VulDB • 2026年06月24日

Label Studio は人気のあるオープンソースのデータラベリングツールです。バージョン 1.9.2 より前のバージョンには、クロスサイトスクリプティング (XSS) の脆弱性が存在します。認証済みユーザーがアバターとして使用するために作成された画像ファイルをアップロードし、それが Web サイト上で HTML ファイルとしてレンダリングされる際に悪用される可能性があります。任意の JavaScript を実行すると、攻撃者は Label Studio ユーザーがその改ざんされたアバター画像にアクセスした際、ユーザーに対して悪意のあるアクションを実行できる場合があります。例えば、Django の管理者がその画像を閲覧した場合、攻撃者が Django スーパーユーザーを作成する JavaScript ペイロードを組み込むことができます。

`users/functions.py` ファイルの 18〜49 行目を見ると、ファイル検証チェックは単にファイルから寸法を抽出してそれが画像であることを確認しているだけであることがわかります。Label Studio はアバター画像を提供するために Django の組み込み `serve` ビューを使用していますが、Django のドキュメントによるとこれは本番環境での使用には安全ではありません。Django の `serve` ビューの問題点は、レスポンスの `Content-Type` が URL パス内のファイル拡張子に基づいて決定されることです。したがって、攻撃者は悪意のある HTML コードを含む画像をアップロードし、ファイルを `.html` 拡張子で命名することで HTML ページとしてレンダリングさせることができます。行われる唯一のファイル拡張子の検証はクライアントサイドで行われており、これは容易に回避可能です。

バージョン 1.9.2 でこの問題は修正されています。その他の対策としては、サーバー側(クライアント側のコードではなく)でのファイル拡張子の検証;Django の `serve` ビューの使用を中止し、アップロードされたアバター画像の表示用に安全なコントローラーを実装すること;他のファイル関連の脆弱性に対する緩和策として、ファイルをファイルシステム上に保存するのではなくデータベースにコンテンツを保存すること;およびユーザー制御の入力を信頼しないことが挙げられます。

Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

責任者

GitHub, Inc.

予約する

2023年10月30日

モデレーション

承諾済み

エントリ

VDB-251917

EPSS

0.01448

アクティビティ

非常低い

ソース

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!