🇰🇷 한글 설명
Gitea에서 다른 인스턴스로 저장소를 마이그레이션할 때, 소스 서버의 API 설정에 보고된 페이지 크기를 사용하여 다운로드를 종료합니다. 소스 서버가 max_response_items를 0으로 보고할 경우 무한 루프가 발생하여 서버 메모리가 고갈될 수 있습니다. 저장소 마이그레이션 권한이 있는 사용자는 제어 가능한 서버를 대상으로 마이그레이션을 시도하여 서비스 거부(DoS) 공격을 수행할 수 있습니다.
💡 쉬운 설명
데이터를 가져올 때 '몇 개씩 가져올지' 정하는 규칙에 오류가 있어, 잘못된 값을 보내면 서버가 멈추지 않고 계속 일을 하다가 메모리가 꽉 차서 터질 수 있습니다. 공격자가 가짜 서버를 만들어 데이터를 가져오라고 시키면 Gitea 서버를 마비시킬 수 있습니다.
🇺🇸 원문 (English)
When migrating a repository from another Gitea instance, Gitea used the page size reported in the source server's API settings to end its paginated downloads. A source that reported `max_response_items` as `0` made these loops run indefinitely and grow server memory until it was exhausted. Any user who can migrate repositories could point a migration at a server they control and cause a denial of service.
📍 영향받는 시스템
Gitea (마이그레이션 기능이 활성화된 모든 버전)
⚔️ 공격 벡터
공격자가 제어하는 서버의 API 응답값(max_response_items)을 0으로 설정한 후, Gitea의 저장소 마이그레이션 기능을 호출하여 DoS 유도
🛡️ 대응 방법
Gitea를 최신 보안 패치가 적용된 버전으로 업데이트하십시오.
🔧 검증 코드
출력된 버전이 해당 취약점이 해결된 보안 패치 버전인지 공식 보안 공지(Advisory)와 대조하여 확인하십시오.