포스팅 내용

국내외 보안동향

Apache 서버들에서 메모리 데이터를 유출시킬 수 있는 Optionsbleed 취약점

Optionsbleed vulnerability can cause Apache servers to leak memory data


Apache HTTP 서버의 Optionsbleed 취약점으로 인해 특정 시스템들이 HTTP OPTIONS 요청에 대한 응답을 통해 중요 데이터를 유출시킬 수 있는 것으로 나타났습니다.


한 보안 연구원이 이 취약점을 발견해 ‘Optionsbleed’라고 명명했습니다.


이 연구원이 HTTP 메쏘드를 분석하던 중 일반적으로 클라이언트에서 서버가 어떤 HTTP 메쏘드를 지원하는지 묻는데 사용 되는 OPTIONS 메쏘드가 포함 된 요청이, 지원하는 HTTP 메쏘드 목록이 아닌 “Allow” header를 통해 손상 된 데이터를 반환하고 있는 것을 발견했습니다. 연구원이 얻은 응답의 예는 아래와 같습니다:


Allow: POST,OPTIONS,,HEAD,:09:44 GMT

Allow: GET,HEAD,OPTIONS,,HEAD,,HEAD,,HEAD,, HEAD,,HEAD,,HEAD,,HEAD,POST,,HEAD,, HEAD,!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"

Allow: GET,HEAD,OPTIONS,=write HTTP/1.0,HEAD,,HEAD,POST,,HEAD,TRACE


Apache는 Use-after-free 버그(CVE-2017-9798)로 인해 서버 메모리를 유출했습니다.


Heartbleed와 같이 메모리의 내용들을 ‘흘리는’ 다른 취약점들과 비교했을 때, Optionsbleed 취약점은 덜 위험하다고 볼 수 있습니다. 악용 하기 위해서는 타겟 시스템이 특정 방식으로 구성되어 있어야 하고, 응답에 항상 데이터가 포함 되는 것은 아니기 때문입니다.


또 다른 보안 전문가들이 Optionsbleed를 Alexa 탑 100만 웹사이트에 테스트해본 결과, 이들 중 466개의 사이트들 만이 손상 된 Allow 헤더를 리턴했습니다.


연구원은 Optionsbleed의 PoC 스크립트를 공개했습니다.


연구원은 “Apache는 특정 사용자에 대해 특정 HTTP 메쏘드로의 접근을 제한하는 구성 명령문 제한(configuration directive Limit)을 지원합니다. 만약 서버에 전역적으로 등록 되지 않은 HTTP 메소드를 위한 .htaccess 파일의 명령문 제한을 설정하면 충돌이 발생합니다. 이후 나는 그것을 다시 재현할 수 있었습니다. .htaccess 파일의 모든 유효하지 않은 HTTP 메쏘드를 위한 명령문 제한을 설정하면 Address Sanitizef에서도 탐지가 가능한 Allow 헤더의 구성 use-after-free 에러를 발생시켰습니다.”고 설명했습니다.


이 문제는 새로이 발견된 것은 아니며, Heartbleed 취약점이 공개되고 불과 몇 주 후인 2014년 5월에 발표 된 “Support for Various HTTP Methods on the Web”라는 논문에서 분석 된 바 있습니다.


Apache 사용자들에게 나쁜 소식은, Apache 측에서 이 취약점이 언제 패치 될 지 정확한 날짜를 공개하지 않았기 때문에 연구원은 이를 공개하기로 결정했다는 것입니다.


리눅스 배포판들의 개발팀들도 Optionsbleed 결함에 대한 픽스를 공개하기 시작했습니다.




참고 : 

http://securityaffairs.co/wordpress/63218/hacking/optionsbleed-vulnerability.html

https://nakedsecurity.sophos.com/2017/09/19/apache-optionsbleed-vulnerability-what-you-need-to-know/

https://github.com/hannob/optionsbleed

티스토리 방명록 작성
name password homepage