상세 컨텐츠

본문 제목

11년 된 리눅스 커널 로컬 권한 상승 취약점 발견

국내외 보안동향

by 알약(Alyac) 2017. 2. 24. 11:12

본문

11년 된 리눅스 커널 로컬 권한 상승 취약점 발견

11-Year Old Linux Kernel Local Privilege Escalation Flaw Discovered


Redhat, Debian, OpenSUSE, Utuntu를 포함한 주요 리눅스 OS 배포판들에 영향을 미치며 2005년부터 존재해 온 권한 상승 취약점이 리눅스 커널에서 발견되었습니다. 


최근 보안연구원은 구글이 공개한 커널 퍼징 툴인  Syzkaller를 사용해 DCCP(Datagram Congestion Control Protocol) 실행 과정에서 10년 이상 된 Linux 커널 버그 (CVE-2017-6074)를 발견했습니다.


이 취약점은 use-after-free 결점입니다. IPV6_RECVPKTINFO 옵션이 소켓에 설정 되어 있을 때 리눅스 커널의 DCCP 프로토콜 구현이 DCCP_PKT_REQUEST 패킷을 위한 SKB(socket buffer) 리소스를 free 시키는 방식에 존재합니다.


DCCP double-free 취약점은 권한이 없는 로컬 사용자가 Linux 커널 메모리를 변경해 DoS(시스템 충돌)을 일으키거나 권한을 상승시켜 시스템에서 관리자 권한을 얻을 수 있도록 합니다. 


“공격자는 커널 힙 스프레이 기법을 사용해 오브젝트를 제어하고 그의 내용을 임의의 데이터로 덮어쓸 수 있게 된다. 덮어쓰기 된 오브젝트가 촉발 가능한 함수 포인터를 가진 경우, 공격자는 커널 내에서 임의의 코드를 실행시킬 수 있게 된다.”


DCCP는 패킷 헤더 사이즈나 엔드 노드 프로세싱의 오버헤드를 가능한 최소화시키며 패킷 흐름 수립, 유지보수, 신뢰할 수 없는 패킷 흐름 해체 및 정체를 제어하는 메시지 지향 전송 계층 프로토콜입니다.


이 취약점은 RCE(원격 코드 실행) 취약점이 아니기 때문에 외부인이 시스템에 침입할 수 있는 어떠한 방법도 제공하지 않으며, 공격자가 결함을 악용하기 위해서는 시스템의 로컬 계정에 접근할 수 있어야합니다. 


거의 두 달 전, 2011년부터 존재해온 유사한 권한 상승 취약점 (CVE-2016-8655)가 리눅스 커널에서 발견 되었습니다. 이는 권한이 없는 로컬 사용자가 리눅스 커널의 af_packet 구현에 존재하는  race condition 악용을 통해 루트 권한을 얻을 수 있도록 허용했습니다. 


이 취약점은 메인라인 커널에서 이미 패치 된 상태입니다. 따라서, 고급 리눅스 사용자라면 패치를 적용하고 커널을 직접 리빌드하면 됩니다. 그렇지 않다면, 배포사에서 다음 커널 업데이트가 나올 때까지 기다렸다가 가능한 빨리 적용하면 됩니다.





출처 : 

http://thehackernews.com/2017/02/linux-kernel-local-root.html

http://seclists.org/oss-sec/2017/q1/471



관련글 더보기

댓글 영역