포스팅 내용

국내외 보안동향

Mini_httpd 모듈 취약점 발견, 257만대의 IoT 기기들 영향 받아 (CVE-2018-18778)

Mini_httpd는 ACME Labs 가 개발한 sw로, HTTP 프로토콜의 GET, HEAD, POST 방식을 지원하며, CGI와 기본적인 인증기능도 제공한다. 간단한 webserver 기능도 제공하여, 개인이 홈페이지를 운영하거나, 각종 IoT 기기들을 관리하는데 주로 사용됩니다. 


최근 FOFA 시스템의 데이터를 보면, 전 세계적으로 2579771대의 Mini_httpd 디바이스들이 있으며, 중국의 대만 지역의 사용률이 423951대로 가장 높은것으로 나타났습니다.


취약점 번호


CVE-2018-18778



취약점 원리 


이번 취약점 원인은 Mini_httpd중 vhost의 결함때문에 발생하는 것입니다.



Vhost는 기본적는 활성화 되어 있지 않으며, 사용자가 -v 파라미터를 이용하여 활성화 시켜주어야 합니다. (mini_httpd -v -C mini_httpd.conf)


Vhost를 활성화 시킨 후, 네트워크의 request 파일의 절대경로는 host헤더 + url이 됩니다. 그렇기 때문에 공격자는 web 포트가 서버에 접근할 때, host헤더를 빈칸으로 설정하고, 서버에 절대 실제 경로 파일이 필요하다고 알려줍니다. 




vhost값이 0이 아닐 때에만 virtual_file 함수가 연결을 위해 호출이 됩니다. virtual_file 함수 중의snprintf 함수가 host+url을 연결합니다. 


또한do_file 함수를 호출하는데, 이 함수의 기능은 로그를 기록하고, host를 읽어 연결한 후 파일을 사용자에게 출력 시킵니다. 이때 공격자는 바로 민감한 데이터들을 반환 시킬 수 있습니다. 



do_file 함수 중의 open 함수는 절대 경로를 기준으로 파일을 읽어오며, 가장 마지막에 파일 읽어오는 효과는 다음과 같습니다. 

 


직접 /etc/passwd 파일을 읽어옵니다. 


공식 홈페이지에 공개된 패치를 통해, 이 취약점은 보안 필터링 조건의 취약점으로  인한 것임을 알 수 있습니다.



영향받는버전 


Mini_httpd 1.30 이전 버전


패치방법


최신 버전으로 업데이트



출처 :

http://www.acme.com/software/mini_httpd/

https://nosec.org/home/detail/1926.html

http://blog.topsec.com.cn/ad_lab/cve-2018-18778%E5%8E%9F%E5%88%9B%E6%BC%8F%E6%B4%9E%E5%AE%89%E5%85%A8%E9%80%9A%E5%91%8A/



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