0xNews - 리눅스 커널에서 cgroup 취약점으로 인해 공격자가 컨테이너에서 탈출할 수 있음을 확인

0xNews - 리눅스 커널에서 cgroup 취약점으로 인해 공격자가 컨테이너에서 탈출할 수 있음을 확인


Paloalto unit42 발표

https://unit42.paloaltonetworks.com/cve-2022-0492-cgroups/


리눅스 시스템에서 사용 중인 컨테이너에서 탈출하는데 잠재적으로 남용될 수 있는 리눅스 커널 Linux Kernel 에서 심각한 취약점 발견


리눅스 커널 내 cgroup control group v1 이라는 제어그룹에서 취약점 존재

이 기능을 사용하면 프로세스를 계층적 그룹으로 구성하여 CPU, 메모리, 디스크 I/O, 네트워크와 같은 리소스 사용 정보를 효과적으로 제한하고 모니터링할 수 있음


CVE-2022-0492 CVSS 7.0 지정

cgroups v1 release_agent 기능의 권한 상승 사례와 비슷

cgroup 의 프로세스가 종료된 후 실행되는 스크립트가 실행


debian 에서의 CVE-2022-0492 취약점 보안 업데이트 

https://security-tracker.debian.org/tracker/CVE-2022-0492


ubuntu 에서의 CVE-2022-0492 취약점 보안 업데이트 

https://ubuntu.com/security/CVE-2022-0492


redhat 에서의 CVE-2022-0492 취약점 보안 업데이트 

https://access.redhat.com/security/cve/cve-2022-0492


이번 취약점은 최근에 발견된 가장 단순한 리눅스 권한 상승 취약점 중 하나

리눅스 커널이 권한 없는 사용자에게 권한 있는 작업을 실수로 노출


cgroup 에 대한 리눅스 메뉴얼 페이지에서 다음과 같이 설명

특정 cgroup 이 비어있을 때 release_agent 프로그램이 호출되는지 여부는 해당 cgroup 디렉토리에 있는 notify_on_release 파일의 값에 의해 결정

이 파일에 값 0 이 포함되어 있으면 release_agent 프로그램이 호출되지 않음

값이 1 이면 release_agent 프로그램 호출

루트 권한의 cgroup 에 있는 이 파일의 기본값은 0


이 버그가 release_agent 파일을 설정하는 프로세스에 관리 권한이 있는지 확인하지 못한 결과로 잠재적인 악용 가능성이 높아짐


공격자가 이 release_agent 파일을 덮어쓴 경우 커널은 가능한 가장 높은 권한으로 release_agent 에 구성된 임의의 바이너리를 강제로 호출할 수 있음

이 시나리오는 시스템의 완전한 인수를 효과적으로 허용할 수 있는 공격 시나리오

결과적으로 이 취약점은 루트 프로세스가 권한을 상승시키는 것만 허용



ubuntu 의 AppArmor / redhat 의 SELinux 로 실행되는 컨테이너는 취약점으로부터 보호되지만 권한 상승 시키기 위해 다른 악성 호스트 프로세스에 의해 남용될 수 있음


release_agent 가 공격 백터로의 등장은 2017년 7월 Google Project Zero 에서도 발표

https://blog.trailofbits.com/2019/07/19/understanding-docker-container-escapes/


2011년 11월 클라우드 보안회사 Aqua 는 동일한 컨테이너 탈출 기술을 사용

감염된 호스트에 XMrig 코인 채굴기를 설치하여 운용하는 공격 캠페인 발견 후 세부 정보 공개

https://blog.aquasec.com/threat-alert-container-escape


댓글

이 블로그의 인기 게시물

0xNews - 안드로이드 폰 890만대 이상 사전 감염 확인

0xNews - 미군을 주제로 하여 한국인을 노리는 피싱 공격 캠페인 경고

0xNews - 리눅스 커널에서 StackRot 라는 이름의 취약점으로 권한 상승 취약점 발견