🇰🇷 한글 설명
Gitea에서 첫 포크 기여자의 승인 절차를 우회할 수 있는 취약점입니다. 특정 작업 전환 및 디스패치 경로에서 승인 요구 사항을 재검사하지 않아, 동일한 동시성 그룹을 사용하는 다른 실행을 통해 승인 없이 워크플로우 코드를 실행할 수 있습니다. 이로 인해 검토되지 않은 코드가 셀프 호스팅 러너에서 실행될 위험이 있습니다.
💡 쉬운 설명
승인을 받아야만 실행되는 코드를 교묘한 방법으로 승인 없이 몰래 실행할 수 있는 보안 구멍입니다. 공격자가 검증되지 않은 코드를 서버에서 강제로 실행하게 만들 수 있습니다.
🇺🇸 원문 (English)
Gitea enforces first-time fork contributor approval by blocking jobs, but some job transition and dispatch paths do not re-check the run's approval requirement. A separate run sharing a job-level concurrency group can cancel a pending job and cause its blocked sibling jobs to be re-emitted and dispatched without approval. This allows unreviewed workflow code to execute on self-hosted runners; fork secrets remain withheld and the run token remains read-only.
📍 영향받는 시스템
Gitea (승인 로직 우회 가능한 버전)
⚔️ 공격 벡터
동일한 작업 수준의 동시성 그룹을 공유하는 별도의 실행을 생성하여 대기 중인 작업을 취소하고 승인 없이 재발행 유도
🛡️ 대응 방법
Gitea를 최신 보안 패치가 적용된 버전으로 업데이트하십시오.
🔧 검증 코드
출력된 버전 정보가 취약점이 해결된 최신 패치 버전인지 확인하십시오.
curl -s http://<gitea-url>/api/v1/version | grep -E 'version'