
Classe de exploit em Python para CVE-2025-58360, uma vulnerabilidade XXE na função GetMap do GeoServer que permite leitura arbitrária de arquivos. Inclui exploração automatizada e exfiltração de dados.
O código e as informações contidas neste repositório são apenas para fins educacionais e de pesquisa. O proprietário do repositório não assume responsabilidade por qualquer coisa que você faça com o código e/ou informações deste repositório. Suas ações são suas. Por favor, use isto de forma legal e responsável.
A classe Python3 no arquivo exploit/exploiter.py (GeoDumper) automatiza a exploração da vulnerabilidade XXE e salva as informações vazadas em um arquivo local.
exemplo:
import exploit.exploiter as exploiter
target_ip = "localhost"
secure = False
geoserver_path = "geoserver"
dumper = exploiter.GeoDumper(target_ip=target_ip, geoserver_path=geoserver_path, is_secure=secure)
(data, filename) = dumper.dump_file(target_file)
print(f"[+] data saved to \"{filename}\"")
print(f"[+] Data:\n{data.decode("utf-8")}")
A vulnerabilidade em questão explora uma entrada XML sanitizada incorretamente para a função GetMap, levando à leitura arbitrária de arquivos por um atacante.
Mais informações e melhores explicações/detalhamentos da vulnerabilidade podem ser encontrados nos links abaixo.
nota: Eu não descobri a vulnerabilidade nem realizei qualquer pesquisa relacionada a ela. Este código e repositório foram criados enquanto eu fazia a sala associada no TryHackMe.