
Golang으로 작성된 CVE-2021-22205 Gitlab RCE POC
Golang으로 작성된 CVE-2021-22205 Gitlab RCE POC로, Gitlab CE/EE < 13.10.3, Gitlab CE/EE < 13.9.6, Gitlab CE/EE < 13.8.8에 영향을 줍니다.
한동안 Golang을 배우고 싶었습니다. CVE-2021-22205용 POC를 Golang으로 작성해 언어에 익숙해지기로 결정했습니다. 형편없이 작성된 코드라고 생각되더라도 양해 부탁드립니다.
사용법: go run CVE-2021-22205.go -t http://127.0.0.1:8080 -c "echo pizza > /tmp/pizza.txt"
여기서 t 플래그는 대상 Gitlab 인스턴스를 지정하고, c 플래그는 실행하려는 명령입니다.
이 스크립트는 http://localhost:9090을 프록시로 사용하도록 설정되어 있습니다. 프록시를 사용하지 않으려면 해당 부분을 삭제해야 합니다.
취약한 docker 설정은 여기에서 찾을 수 있습니다: https://github.com/vulhub/vulhub/tree/master/gitlab/CVE-2021-22205
CVE Finder 분석 글: https://devcraft.io/2021/05/04/exiftool-arbitrary-code-execution-cve-2021-22204.html