상세 컨텐츠

본문 제목

Apache Tomcat 8/7/6 로컬권한상승 취약점(CVE-2016-5425) 발견!

국내외 보안동향

by 알약(Alyac) 2016. 10. 11. 14:56

본문

Apache Tomcat 8/7/6 로컬권한상승 취약점(CVE-2016-5425) 발견!


레드햇 기반의 기본 저장소에서 제공되는 아파치 톰캣 패키지(CentOS, RedHat, OracleLinux, Fedora 등 포함)에서, 파일 권한 설정으로 인해 사용자 권한으로 읽고 쓸 수 있는 tmpfile.d 설정 파일을 생성하는 것이 가능한 취약점(CVE-2016-5425)이 발견되었습니다. 공격자들은 해당 취약점을 악용하여 톰캣 사용자 권한을 root 권한으로 상승시켜 시스템 제어권한을 획득할 수 있습니다. 



취약점 내용


이 취약점은 RedHat 기반 시스템에서 기본적으로 설치된 Tomcat의 tomcat그룹 사용자가 tomcat.conf 파일을 쓸 수 있는 권한을 갖도록 합니다.


[root@localhost ~]# ls -al /usr/lib/tmpfiles.d/tomcat.conf 

-rw-rw-r--. 1 root tomcat 43 May 12 2015 /usr/lib/tmpfiles.d/tomcat.conf


tmpfiles.d에 있는 설정 파일들은 systemd-tmpfiles의 임시 파일들을 관리하는데 사용됩니다. 


공격자는 매우 쉽게 취약한 퍼미션을 갖고 있는 tomcat.conf의 권한을 악용할 수 있습니다. 루트쉘 또는 리버스쉘을 만들어 인젝션하면, 루트 권한으로 임의의 명령을 실행할 수 있습니다.

 

/usr/bin/systemd-tmpfiles을 실행할 때마다, 인젝션한 payload 역시 함께 실행됩니다.


RedHat 배포버전에서 systemd-tmpfiles는 기본적으로 활성화되어 있으며, systemd-tmpfiles는 systemd-tmpfiles-setup.service에 의해 실행됩니다. 


[root@localhost www]# cat /usr/lib/systemd/system/systemd-tmpfiles-setup.service |grep ExecStart

ExecStart=/usr/bin/systemd-tmpfiles --create --remove --boot --exclude-prefix=/dev


시스템의 용도에 따라 systemd-tmpfiles는 cronjobs, startup scripts 등 다른 서비스들에 의해 시작될 수도 있습니다. 또한 systemd-tmpfiles는 설정 문서들 중 문서 오류로 인해 중지되지 않습니다. 따라서 공격자들은 매우 쉽게 악성 페이로드를 /usr/lib/tmpfiles.d/tomcat.conf 에 인젝션할 수 있습니다.



영향받는 버전


- CentOS

- Fedora

- Oracle Linux

- RedHat


※ 자세한 내용 보기 



해결 방법


1) 임시 조치

/usr/lib/tmpfiles.d/tomcat.conf 권한 수정, tomcat그룹의 쓰기권한 제거


chmod 644  /usr/lib/tmpfiles.d/tomcat.conf


2) Tomcat 패키지 업데이트




참고

http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-5425

http://legalhackers.com/advisories/Tomcat-RedHat-Pkgs-Root-PrivEsc-Exploit-CVE-2016-5425.html

https://cxsecurity.com/issue/WLB-2016100093

https://access.redhat.com/security/cve/CVE-2016-5425

관련글 더보기

댓글 영역