🇰🇷 한글 설명
Gitea의 [migrations] ALLOWED_DOMAINS 설정 시, 허용된 호스트네임의 IP 주소가 로컬 네트워크 제한 사항을 준수하는지 확인하지 않는 취약점이 발견되었습니다. 공격자가 허용된 도메인의 DNS를 제어할 수 있다면, 이를 루프백 또는 사설 IP로 리졸브하여 ALLOW_LOCALNETWORKS 설정을 우회하고 내부 서비스에 접근할 수 있습니다.
💡 쉬운 설명
허용된 사이트 주소를 입력하더라도 실제 연결되는 IP 주소가 내부 네트워크인지 확인하지 않는 보안 허점이 있습니다. 이를 통해 공격자는 겉으로는 안전한 주소를 사용하는 것처럼 속여 서버 내부의 비밀스러운 네트워크에 침입할 수 있습니다.
🇺🇸 원문 (English)
When `[migrations] ALLOWED_DOMAINS` was configured, a hostname matching the allow list was accepted without checking its resolved address against the local-network restrictions. A user who can start repository migrations and control the DNS of an allowed hostname could make it resolve to loopback or private addresses and bypass `ALLOW_LOCALNETWORKS = false`, reaching internal services from the Gitea server. Instances without `ALLOWED_DOMAINS` configured are not affected by this specific bypass.
📍 영향받는 시스템
ALLOWED_DOMAINS 설정이 활성화된 Gitea 인스턴스
⚔️ 공격 벡터
허용된 도메인의 DNS를 조작하여 내부 IP(Loopback/Private)로 연결되도록 유도하는 DNS Spoofing/Poisoning
🛡️ 대응 방법
Gitea를 최신 보안 패치 버전으로 업데이트하거나, ALLOWED_DOMAINS 설정을 신중하게 검토하십시오.
🔧 검증 코드
명령어 결과에 ALLOWED_DOMAINS 설정이 존재한다면 해당 취약점에 노출될 가능성이 있습니다.
grep -r "ALLOWED_DOMAINS" /etc/gitea/app.ini 2>/dev/null