🇰🇷 한글 설명
Docker 이전 버전에서 사용되는 runc 1.0-rc6 이하 버전에서 발생하는 취약점입니다. 공격자가 컨테이너 내부에서 root 권한을 실행할 때 /proc/self/exe 파일 디스크립터 처리 오류를 악용하여 호스트의 runc 바이너리를 덮어쓰고 호스트 root 권한을 탈취할 수 있습니다.
💡 쉬운 설명
컨테이너라는 격리된 방 안에서 탈출하여 컴퓨터 전체를 조종할 수 있는 보안 구멍입니다. 공격자가 컨테이너를 통해 실제 컴퓨터의 핵심 파일을 바꿔치기하여 관리자 권한을 얻을 수 있습니다.
🇺🇸 원문 (English)
runc through 1.0-rc6, as used in Docker before 18.09.2 and other products, allows attackers to overwrite the host runc binary (and consequently obtain host root access) by leveraging the ability to execute a command as root within one of these types of containers: (1) a new container with an attacker-controlled image, or (2) an existing container, to which the attacker previously had write access, that can be attached with docker exec. This occurs because of file-descriptor mishandling, related to /proc/self/exe.
📍 영향받는 시스템
runc 1.0-rc6 이하 버전, Docker 18.09.2 미만 버전
⚔️ 공격 벡터
공격자가 제어하는 이미지의 컨테이너를 실행하거나 기존 컨테이너에 접근하여 /proc/self/exe를 통해 호스트의 runc 바이너리를 덮어씀
🛡️ 대응 방법
runc를 최신 버전으로 업데이트하거나 Docker를 18.09.2 이상 버전으로 업그레이드하십시오.
🔧 검증 코드
출력된 runc 버전을 확인하여 1.0-rc6 이하인지 확인하십시오.
runc --version 2>/dev/null | grep -E 'runc version'