🇰🇷 한글 설명
Git의 웹 인터페이스인 gitweb에서 diff.external 설정 변수를 악용하여 임의의 명령을 실행할 수 있는 취약점입니다. 로컬 저장소 소유자가 설정을 조작하고 특정 gitweb 쿼리를 실행하면 서버에서 공격자 명령이 실행됩니다.
💡 쉬운 설명
Git 웹페이지에서 사용자가 특정 설정을 바꿔서 악의적인 명령을 몰래 실행할 수 있는 버그입니다. 저장소 소유자 권한이 있으면 서버를 제어할 수 있게 됩니다.
🇺🇸 원문 (English)
gitweb/gitweb.perl in gitweb in Git 1.6.x before 1.6.0.6, 1.5.6.x before 1.5.6.6, 1.5.5.x before 1.5.5.6, 1.5.4.x before 1.5.4.7, and other versions after 1.4.3 allows local repository owners to execute arbitrary commands by modifying the diff.external configuration variable and executing a crafted gitweb query.
📍 영향받는 시스템
Git 1.6.x (1.6.0.6 이전), 1.5.6.x (1.5.6.6 이전), 1.5.5.x (1.5.5.6 이전), 1.5.4.x (1.5.4.7 이전), 1.4.3 이후 버전
⚔️ 공격 벡터
로컬 저장소 소유자가 diff.external 설정을 변조하고 특정 gitweb 쿼리를 실행하여 임의 명령 실행
🛡️ 대응 방법
영향받는 버전을 1.6.0.6, 1.5.6.6, 1.5.5.6, 1.5.4.7 이상으로 업그레이드하거나 gitweb 사용 금지
🔧 검증 코드
명령어가 버전을 출력하면 취약한 버전입니다. 아무것도 출력되지 않으면 패치된 버전이거나 안전합니다.
git --version | grep -E '(1\.[4-5]\.|1\.6\.0\.[0-5]|1\.5\.[4-6]\.[0-5]|1\.5\.4\.[0-6])'