
Proof of Concept (POC) for the CVE-2025-25296 vulnerability affecting Label Studio versions prior to 1.16.0
Este projeto demonstra uma Prova de Conceito (POC) para a vulnerabilidade CVE-2025-25296 que afeta o Label Studio, uma ferramenta de rotulagem de dados de código aberto. A vulnerabilidade reside no endpoint /projects/upload-example, que não sanitiza o conteúdo HTML fornecido pelo usuário em solicitações GET. Isso permite que atacantes executem JavaScript arbitrário no navegador da vítima, levando a potenciais ataques de Cross-Site Scripting (XSS).
/projects/upload-example do Label Studio1.16.0 ou posterior do Label StudioComo solução alternativa temporária:
/projects/upload-example com solicitações GET.pip usando setup.sh)poc.py: Script Python para explorar a vulnerabilidade e demonstrar o ataque XSS.setup.sh: Script para configurar o ambiente vulnerável usando Docker.Clone este repositório:
git clone CVE-2025-25296-POC
cd CVE-2025-25296-POC
Execute o script de configuração:
chmod +x setup.sh
./setup.sh
O script de configuração irá:
1.15.0).localhost:8080.Execute o script de exploração:
python poc.py
O script irá:
/projects/upload-example.Abra a URL fornecida em um navegador para observar o alerta de XSS acionado pelo payload.
[*] 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
Para mitigar esta vulnerabilidade:
1.16.0 ou posterior.Este projeto destina-se apenas a fins educacionais e de pesquisa. Use-o com responsabilidade e somente em sistemas onde você tenha permissão explícita. O uso não autorizado desta ferramenta pode violar as leis aplicáveis.