보안정보

[ CVE-2017-9800] Apache svn-ssh Command Execution

침해사고분석팀 2017.09.01

 

개요


Apache Subversion에 임의의 코드 실행 취약점이 발견되었다. 해당 취약점은 svn+ssh:// URL을 제대로 처리하지 못해 발생하는 것으로, svn+ssh:// URL에 포함되어 있는 ProxyCommand 문자열 뒤에 나오는 문자를 쉘 명령으로 해석하여 실행하게 된다.
 
 
[CVE 정보]
CVE-2017-9800
 
[취약한 버전]
Apache Software Foundation Subversion 1.9.0 through 1.9.6
Apache Software Foundation Subversion 1.0.0 through 1.8.18
 
[취약한 함수]
ra_svn_open()
 
 
 

확인 내역

먼저 Subversion에 대해서 알아보도록 하자.
 
Subversion(서브버전)
- 자유 소프트웨어 버전 관리 시스템
- 명령행 인터페이스에서 사용하는 명령어를 따서 “SVN” 이라고 줄여서 부름
- 제한이 있던 CVS를 대체하기 위해 2000년부터 콜랩넷에서 개발 됨
- 현재는 아파치 최상위 프로젝트로서 전 세계 개발자 커뮤니티와 함께 개발되고 있음
- 서버-클라이언트 모델을 따름
- 서버는 작업하는 컴퓨터 내에 둘 수도 있고, 전산망에 연결된 별도의 컴퓨터에 두고 사용 할 수 있음
- 서브버전 서버와 클라이언트는 http, https, svn, svn+ssh 의 규약으로 통신 함
 
 
Apache Subversion 취약점은 CVE-2017-1000117 Git 취약점과 유사한 취약점으로 Apache에서 발생한 취약점이다.
해당 취약점과 관련된 취약한 함수는 ra_svn_open() 함수로, 해당 함수는 svn+ssh:// URL 처리 시 호출되는 함수이다. 이 함수는 open_session() 함수를 호출하여 트래픽을 터널링하기 위해 SSH 세션을 생성한다. open_session() 함수는 저장소 URL을 인수로 사용하여 SSH 바이너리를 실행한다. 이때, 저장소 URL에 존재하는 -o 옵션을 제대로 처리하지 못함으로 ProxyCommand 뒤에 나오는 문자열에 대해서 SSH 클라이언트에서 쉘 명령으로 해석하고 이를 실행하게 된다.
 
 
다음은 해당 취약점 테스트 진행 시, 발생 한 트래픽 정보이다. 각 프로토콜별로 테스트를 진행 하였으며, 테스트 완료 시엔 ProxyCommand={touch, POC}를 명령어로 실행하게 되여 실행 시킨 저장소에 POC 파일을 생성하게 된다.
 
 
1. HTTP or HTTPS
 
[그림1] 301 Redirect
 
[그림2] 200 OK
 
 
 
2. SVN
 
[그림3] SVN
 
 

대응방안


1. 벤더사 패치
해당 벤더사에서 제공한 보안 권고문을 참고하여, 취약한 버전에 대해 패치를 진행 한다.
http://subversion.apache.org/security/CVE-2017-9800-advisory.txt
 
2. Sniper 제품군 대응현황

Sniper-IPS

[3665] Apache Subversion svn-ssh URL Comman Execution
[3666] Apache Subversion svn-ssh URL Comman Execution.A

 

Sniper-UTM

[805374198] Apache Subversion svn-ssh URL Comman Execution
[805374199] Apache Subversion svn-ssh URL Comman Execution.A

 

Sniper-APTX

[2851] Apache Subversion svn-ssh URL Command Execution
[2852] Apache Subversion svn-ssh URL Command Execution.A
 
 

 

참고

http://subversion.apache.org/security/CVE-2017-9800-advisory.txt

http://blog.recurity-labs.com/2017-08-10/scm-vulns

http://securitytracker.com/id?1039127