
Un POC de RCE en GitLab para CVE-2021-22205 escrito en Golang
Un POC de RCE básico para Gitlab CVE-2021-22205, escrito en Golang, que afecta a Gitlab CE/EE < 13.10.3, Gitlab CE/EE < 13.9.6 y Gitlab CE/EE < 13.8.8.
Llevo tiempo queriendo aprender Golang. Decidí escribir un POC para CVE-2021-22205 en Golang para familiarizarme con el lenguaje. Por favor, ignora lo que supongo que es un código horriblemente escrito.
Uso: go run CVE-2021-22205.go -t http://127.0.0.1:8080 -c "echo pizza > /tmp/pizza.txt"
Donde el flag t especifica la instancia de Gitlab objetivo y el flag c es el comando que quieres ejecutar.
El script está configurado para usar http://localhost:9090 como proxy. Tendrás que eliminarlo si no quieres usar un proxy.
Una configuración docker vulnerable se puede encontrar aquí: https://github.com/vulhub/vulhub/tree/master/gitlab/CVE-2021-22205
Informe del descubridor del CVE: https://devcraft.io/2021/05/04/exiftool-arbitrary-code-execution-cve-2021-22204.html