🇰🇷 한글 설명
Gitea의 저장소 마크업 엔드포인트가 사용자의 Pull Request 권한을 확인하지 않고 동일 저장소 내의 PR 참조를 해석하는 취약점입니다. 이로 인해 위키(Wiki) 권한만 가진 사용자도 권한이 없는 비공개 Pull Request의 제목과 상태 아이콘 등의 메타데이터를 조회할 수 있습니다.
💡 쉬운 설명
저장소의 위키 읽기 권한만 있는 사람도 권한이 필요한 비밀스러운 코드 수정 요청(Pull Request)의 제목과 상태를 몰래 볼 수 있는 문제입니다. 권한 설정이 제대로 작동하지 않아 정보가 유출될 수 있습니다.
🇺🇸 원문 (English)
Gitea's repository markup endpoint resolves same-repository pull request references without enforcing the viewer's Pull Requests permission. A member with only Wiki access to a private repository can submit a markup preview request and retrieve a private pull request's title and state icon despite lacking Issues and Pull Requests access. This exposes pull request metadata across repository unit permissions.
📍 영향받는 시스템
Gitea (취약한 버전의 repository markup 엔드포인트 포함 버전)
⚔️ 공격 벡터
권한이 제한된 사용자가 마크업 미리보기 요청을 통해 비공개 Pull Request의 메타데이터를 탈취
🛡️ 대응 방법
Gitea를 최신 보안 패치가 적용된 버전으로 업데이트하여 권한 검증 로직을 강화해야 함
🔧 검증 코드
권한이 없는 계정으로 마크업 미리보기 요청 시 403 Forbidden이 아닌 200 OK가 반환되면 취약할 가능성이 있음
curl -s -I https://<gitea-instance>/<repo>/markup/preview | grep -i 'HTTP/1.1 200'