🔍 CVE-2026-5512

4.3
CVSS Score
MEDIUM
2026-04-21
2026-04-29 12:35
✅ 완료

🇰🇷 한글 설명

GitHub Enterprise Server의 모바일 업로드 정책 API 엔드포인트에서 초기 권한 확인을 수행하지 않아 인증된 공격자가 숫자 ID로 비공개 저장소의 이름을 특정할 수 있는 부적절한 인증 취약점입니다. 검증 오류 메시지에 접근 권한 없는 저장소의 전체 이름이 포함되어 정보 노출이 발생합니다.

💡 쉬운 설명

GitHub의 직원용 서버에서 누군진 모르지만 로그인된 사람이 원래 보면 안 되는 비공개 폴더 이름을 숫자로 찾아낼 수 있는 문제입니다. 오류 메시지에서 실수로 저장소 이름이 드러나기 때문입니다.

🇺🇸 원문 (English)

An improper authorization vulnerability was identified in GitHub Enterprise Server that allowed an authenticated attacker to determine the names of private repositories by their numeric ID. The mobile upload policy API endpoint did not perform an early authorization check, and validation error messages included the full repository name for repositories the caller did not have access to. This vulnerability affected all versions of GitHub Enterprise Server prior to 3.21 and was fixed in versions 3.20.1, 3.19.5, 3.18.8, 3.17.14, 3.16.17, 3.15.21, and 3.14.26. This vulnerability was reported via the GitHub Bug Bounty program.

📍 영향받는 시스템

GitHub Enterprise Server 3.21 이전 모든 버전 (3.20.1, 3.19.5, 3.18.8, 3.17.14, 3.16.17, 3.15.21, 3.14.26에서 수정)

⚔️ 공격 벡터

인증된 공격자가 모바일 업로드 정책 API 엔드포인트에 저장소 ID를 이용한 요청을 송신하여 오류 메시지의 저장소 이름 공개를 통해 비공개 저장소 정보 획득

🛡️ 대응 방법

GitHub Enterprise Server를 3.14.26, 3.15.21, 3.16.17, 3.17.14, 3.18.8, 3.19.5, 3.20.1 이상의 패치된 버전으로 즉시 업그레이드

🔧 검증 코드

응답에 저장소 이름이 오류 메시지에 포함되면 취약점 존재, 접근 거부(401/403) 반환되면 패치됨을 의미합니다.

Shell / Script
curl -s http://localhost/api/v3/repos/repo-id/mobile/upload-policy -H 'Authorization: token YOUR_TOKEN' 2>&1 | grep -i 'repository\|error' || echo 'GHE version check needed'

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N

💻 영향받는 소프트웨어

Git