Apache mod_jk Access Control Bypass 취약점 (CVE-2018-11759) 그리고 mok_jk 업데이트 방법
Apache mod_jk Access Control Bypass 취약점 (CVE-2018-11759)
아파치 보안 취약점 (업데이트 권고)
- 개요
최근 Biznet Bilisim 사의 Alphan YAVAS 연구원에 의해 Apache HTTPD 와 Tomcat 간의 경로 결정 중 세미콜론 문자열을 처리하는 과정에서 오류로 인해 접근 제어를 우회할 수 있는 취약점이 발견 됨.
(적용대상 : Apache mod_jk Connector 1.2.0 ~ 1.2.44)
현 시점에서 최신 버젼의 mod_jk가 아니면서 mod_jk를 사용하는 경우 모두 해당
mod_jk 최신 버젼 : 1.2.46
- 내용
Apache HTTPD는 경로 해석을 위해 URL의 세미콜론을 일반 문자로 해석하지만 Tomcat 은 쿼리 구분 기호("?" 와 같은 기능)로 해석함.
따라서 공격자는 http://server/java_app/..; 을 입력할 경우 Apache HTTPD 경로 통과를 허용하지 않으나 Tomcat 은 그대로 문자열을 .. 로 해석함.
이를 통해 Tomcat 에서 액세스할 수 없는 리소스를 가져올 수 있음
자세한 내용은 아래 링크 참조
https://www.immunit.ch/blog/2018/11/01/cve-2018-11759-apache-mod_jk-access-bypass/
- 해결방법
기존 시스템의 mod_jk 버젼을 확인하고 최신 버젼이 아닐경우 최신 버젼으로 업데이트 한다.
centos에서 아파치 2.x 설치 하여 운영하고 있으며 해당 서버도 대상이라 mod_jk 업데이트를 진행하게 되었다.
먼저 whereis 등의 명령어로 아파치와 apax가 어디에 있는지 확인한다.
아파치 설치 위치가 확인되었으면 mod_jk 버젼을 확인한다.
아파치 설치 위치로 이동하여 아래 명령어를 실해해본다.
$ cd modules
$ strings mod_jk.so | grep -i mod_jk
실행하면 아래와 같은 mod_jk 정보를 볼 수 있다.
mod_jk.so
mod_jk.c
mod_jk/1.2.31