🇰🇷 한글 설명
GitHub Enterprise Server의 Git 서비스(babeld)에서 SSH 호스트 키 소유 증명 시 세션 식별자 크기를 잘못 계산하는 범위 밖 읽기(out-of-bounds read) 취약점이 발견되었습니다. 인증된 공격자가 더 긴 해시 알고리즘으로 재키잉(re-key)하여 인접 프로세스 메모리가 서명되어 클라이언트에 반환될 수 있으며, 그 일부가 복구될 수 있습니다. 3.23 이전 모든 버전에 영향을 미치며 3.22.3, 3.21.8, 3.20.10, 3.19.14에서 수정되었습니다.
💡 쉬운 설명
계정과 SSH 접근 권한을 가진 사용자가 서버 메모리의 일부 내용을 엿볼 수 있는 결함입니다. 공격에 성공하면 서버 내부 데이터가 일부 노출될 수 있습니다.
🇺🇸 원문 (English)
An out-of-bounds read vulnerability was identified in GitHub Enterprise Server in the Git service (babeld). When proving possession of a host key, babeld's SSH implementation sized the session identifier by the current digest length rather than its own. An attacker with an account and SSH access could re-key to an algorithm with a longer hash, causing adjacent process memory to be signed and returned to the client, where a limited amount of it may be recoverable. This vulnerability affected all releases prior to 3.23 and was fixed in versions 3.22.3, 3.21.8, 3.20.10, and 3.19.14. This vulnerability was reported via the GitHub Bug Bounty program.
📍 영향받는 시스템
GitHub Enterprise Server 3.23 미만 버전 (수정: 3.22.3, 3.21.8, 3.20.10, 3.19.14 이상)
⚔️ 공격 벡터
인증된 사용자가 SSH로 접속한 뒤 더 긴 해시를 사용하는 알고리즘으로 재키잉을 요청해 인접 메모리를 서명 응답으로 받아내는 방식
🛡️ 대응 방법
GitHub Enterprise Server를 3.19.14, 3.20.10, 3.21.8, 3.22.3 또는 3.23 이상 패치 버전으로 업그레이드
🔧 검증 코드
출력된 버전이 3.23 미만이면 취약하며, 3.19.14/3.20.10/3.21.8/3.22.3 등 해당 브랜치의 수정 버전 이상이면 패치된 것입니다.
ghe-version 2>/dev/null | grep -i 'GitHub Enterprise' || cat /data/user/common/github-release 2>/dev/null