🇰🇷 한글 설명
Gitea Actions에서 포크된 저장소의 풀 리퀘스트 승인 여부를 결정할 때, 작성자가 아닌 이벤트를 트리거한 사용자를 기준으로 판단하는 취약점이 발견되었습니다. 관리자가 라벨 추가와 같은 일반적인 작업을 수행할 때 승인 절차 없이 포크된 저장소의 워크플로우 코드가 실행될 수 있습니다. 이로 인해 공격자가 조작한 코드가 메인 저장소의 러너에서 실행될 위험이 있습니다.
💡 쉬운 설명
관리자가 외부에서 온 요청을 검토하는 과정에서 실수로 공격자가 심어놓은 악성 코드를 실행하게 만들 수 있는 보안 허점입니다. 승인 절차를 건너뛰고 공격자의 코드가 서버에서 돌아갈 수 있어 위험합니다.
🇺🇸 원문 (English)
Gitea Actions decided whether a fork pull request run needed approval based on the user who triggered the event rather than the pull request author. For `pull_request` activity triggered by a maintainer during ordinary triage, such as adding a label, the run was created without requiring approval, while the workflow definition was still taken from the fork head. Where Actions is enabled and a matching runner is registered, fork-controlled workflow code could run on the base repository's runners without an explicit approval.
📍 영향받는 시스템
Gitea Actions 기능이 활성화된 Gitea 설치 환경
⚔️ 공격 벡터
공격자가 포크된 저장소에 악성 워크플로우를 포함시킨 후, 관리자가 해당 PR에 라벨을 다는 등의 활동을 유도하여 코드를 실행시킴
🛡️ 대응 방법
Gitea를 최신 보안 패치가 적용된 버전으로 업데이트하고, Actions 설정에서 승인 정책을 재검토하십시오.
🔧 검증 코드
출력된 버전 정보가 해당 취약점이 해결된 보안 패치 버전인지 확인하십시오.
curl -s http://<gitea-url>/api/v1/version | grep -E 'version'