Wins blog

글로벌 정보보안 파트너! Global Security  No.1 윈스는 국가대표 정보보안 기업에서 글로벌 강소기업으로 도약합니다.

보안 정보

앞 내용 보기 다음 내용 보기
취약점 정보[CVE-2018-11235] Git Submodule Name Validation Fla
작성일 2018-06-08 조회 1573

 

 

 

 

Git의 개발자와 Git 저장소 호스팅 서비스를 제공하는 여러 회사는 Git 소스 코드 버전 소프트웨어의 위험한 취약점을 패치하였습니다.

 

Git 2.17.1에는 CVE-2018-11233과 CVE-2018-11235의 두 가지 보안 버그 패치가 포함되어 있습니다 .

 

이 중 CVE-2018-11235는 공격자가 조작한 Git 하위 모듈을 포함하는 악성 Git repository를 만들 수 있습니다.
사용자가 이 repository를 복제 할 때마다 Git clients가 악성 Git 하위 모듈을 처리하는 방식 때문에 공격자가 사용자 시스템에서 악성코드를 실행할 수 있습니다.


지난 밤에 릴리스 된 Git 2.17.1은 사용자의 컴퓨터에서 이러한 명령을 실행하지 못하게 수정 되었습니다.

 

 

공개된 POC (https://github.com/CHYbeta/CVE-2018-11235-DEMO)

 

 

Visual Studio Team Services의 프로그램 관리자인 Edward Thomson은 CVE-2018-11235에 대한 기술적인 설명도 제공합니다.

 

원격 저장소는 하위 모듈에 대한 정의를 포함 할 수 있으며 상위 저장소에 폴더로 체크인 한 하위 모듈의 저장소 데이터를 묶을 수도 있습니다. 이 저장소를 반복적으로 복제 할 때, git은 먼저 상위 저장소를 작업 디렉토리로 체크 아웃 한 다음, 서브 모듈을 복제 할 준비를합니다. 그런 다음 복제본을 만들 필요가 없다는 것을 깨닫게 될 것입니다 - 서브 모듈의 저장소가 이미 디스크에 있습니다. 부모에게 체크인했기 때문에 체크 아웃되었을 때 작업 디렉토리에 기록되었습니다. 그러므로 자식은 가져 오기를 건너 뛰고 단순히 디스크에있는 저장소를 사용하여 서브 모듈을 체크 아웃 할 수 있습니다. 
문제는 git clone저장소 가있을 때 서버에서 가져 오지 않는 중요한 구성이 있다는 것입니다. 여기에는 .git/config파일 의 내용 과 git 워크 플로우 내의 특정 지점에서 실행되는 스크립트 인 후크 (hooks) 등이 포함됩니다. 예를 들어 post-checkoutgit이 작업 디렉터리로 파일을 체크 아웃 할 때마다 훅이 실행됩니다. 
이 구성은 원격 서버에서 복제되지 않으므로 위험한 취약점이 발생할 수 있습니다. 원격 서버가 사용자 컴퓨터에서 실행할 코드를 제공 할 수 있기 때문입니다. 
불행히도,이 서브 모듈 구성 취약점으로, 정확히 무슨 일이 벌어 지는지. 하위 모듈의 저장소는 상위 저장소에 체크인되므로 실제로 복제되지 않습니다. 따라서 서브 모듈 저장소는 실제로 훅이 이미 구성되어있을 수 있습니다. 당신이 반복적으로 복제 (그리고이 저장소 때 경우 않습니다 으로 복제 할 필요가 --recursive이 취약점을 발현하는데)이 조심스럽게 제작 된 악성 부모 저장소, 먼저 부모를 확인합니다, 다음 서브 모듈을 작성하기 위해 서브 모듈의 체크에있는 저장소를 읽고 마지막으로 post-checkout서브 모듈의 체크인 된 저장소에 구성된 모든 후크를 실행 합니다.

 

 

공개된 POC (https://staaldraad.github.io/post/2018-06-03-cve-2018-11235-git-rce/)

 

 


공격 트래픽 

 

 

 


취약시스템

GIT GIT 2.17 
GIT GIT 2.16.3 
GIT GIT 2.16 
GIT GIT 2.15.1 
GIT GIT 2.15 
GIT GIT 2.14.3 
GIT GIT 2.14.2 
GIT GIT 2.14.1 
GIT GIT 2.14 
GIT GIT 2.13.6 
GIT GIT 2.13.5 
GIT GIT 2.13.4 
GIT GIT 2.13.3 
GIT GIT 2.13.2 
GIT GIT 2.13.1 
GIT GIT 2.13 

 

 

 


Sniper 제품군 대응방안
Sniper-IPS

[4333] Git Submodule Name Validation Flaw RCE
[4334] Git Submodule Name Validation Flaw RCE.A

Sniper-UTM

[805374582] Git Submodule Name Validation Flaw RCE

Sniper-APTX

[3582] Git Submodule Name Validation Flaw RCE
[3583] Git Submodule Name Validation Flaw RCE.A

 

 

 

 

참조
https://staaldraad.github.io/post/2018-06-03-cve-2018-11235-git-rce/
http://www.freebuf.com/column/173372.html

첨부파일 첨부파일이 없습니다.
태그 CVE-2018-11235  Git