🇰🇷 한글 설명
GitHub Enterprise Server의 외부 인증 활성화 시 가입 엔드포인트가 인증을 제대로 검증하지 않아 인증되지 않은 공격자가 ID 제공자 검증을 우회하여 로컬 사용자 계정을 생성할 수 있는 취약점입니다. 생성된 계정은 기본 권한으로 제한됩니다.
💡 쉬운 설명
GitHub 서버의 회원가입 기능이 외부 로그인을 제대로 확인하지 않아서, 허가받지 않은 사람이 계정을 만들 수 있습니다. 계정은 기본 권한으로만 작동합니다.
🇺🇸 원문 (English)
An authentication bypass vulnerability was identified in GitHub Enterprise Server that allowed an unauthenticated attacker to create a local user account, bypassing the configured external identity provider. When external authentication was enabled, the signup endpoint did not properly enforce the authentication restriction, allowing account creation and session establishment without identity provider validation. The created account was limited to the default base permissions configured on the instance. Exploitation required network access to a GHES instance configured with an external authentication provider. This vulnerability affected all versions of GitHub Enterprise Server prior to 3.21 and was fixed in versions 3.20.2, 3.19.6, 3.18.9, 3.17.15, and 3.16.18.
📍 영향받는 시스템
GitHub Enterprise Server 3.21 이전 모든 버전 (3.20.2, 3.19.6, 3.18.9, 3.17.15, 3.16.18에서 수정)
⚔️ 공격 벡터
외부 인증이 활성화된 GHES 인스턴스의 가입 엔드포인트에 대한 네트워크 접근을 통해 인증 없이 계정 생성
🛡️ 대응 방법
GHES를 3.20.2, 3.19.6, 3.18.9, 3.17.15, 3.16.18 이상 패치 버전으로 업그레이드
🔧 검증 코드
GHES의 현재 버전을 확인하여 영향받는 범위(3.21 미만)에 포함되는지 확인하면 됩니다. 패치 버전이 위의 수정된 버전 이상이면 안전합니다.
curl -s https://your-ghes-instance/api/v3/meta | jq '.version' | grep -E '(3\.(2[0-9]|[1-9][0-9])\.|3\.[0-1][0-9]\.)' && echo 'Vulnerable' || echo 'Check version'