Docker/Kubernetes runC 런타임 보안 취약점 주의보: 컨테이너 탈출 및 호스트 접근 위험
최근 Docker와 Kubernetes 환경에서 사용되는 컨테이너 런타임인 runC에서 심각한 보안 취약점 3가지가 발견되어 사용자의 주의가 요구됩니다. 이 취약점들을 악용하면 컨테이너에서 탈출하여 호스트 시스템에 관리자 권한으로 접근할 수 있는 심각한 위험이 발생할 수 있습니다.
runC 란 무엇인가?
runC는 Linux 시스템에서 컨테이너를 생성하고 실행하는 데 사용되는 경량화된 저수준 컨테이너 런타임입니다. 즉, runC는 머신에서 컨테이너를 시작하고 관리하는 핵심 구성 요소입니다. 컨테이너 기술의 핵심 기반이 되는 중요한 부분입니다.
발견된 취약점 상세 내용
보안 연구원 Aleksa Sarai는 CVE-2025-31133, CVE-2025-52565, CVE-2025-52881 세 가지 취약점을 발견했습니다. 이 취약점들을 연쇄적으로 악용하면 공격자가 호스트 시스템에 관리자 권한으로 접근할 수 있게 됩니다.
- CVE-2025-31133 (심각도 7.3/10): runC가 충분한 검증을 수행하지 않아 정보 유출, 서비스 거부(DoS), 컨테이너 탈출 등의 위험을 초래합니다.
- CVE-2025-52565 (심각도 8.4/10): 이 또한 불충분한 검사로 인한 서비스 거부 취약점입니다.
- CVE-2025-52881 (심각도 7.3/10): runC의 경쟁 조건(race condition)으로, 공격자가 공유 마운트를 통해
/proc쓰기를 리디렉션할 수 있습니다.
공격 시나리오 및 영향
Sysdig의 연구원들은 공격자가 사용자 정의 마운트 구성으로 컨테이너를 시작할 수 있어야 이 취약점들을 악용할 수 있다고 지적합니다. 이는 악성 컨테이너 이미지 또는 Dockerfile을 통해 달성될 수 있습니다. 공격에 성공하면 컨테이너에서 탈출하여 호스트 시스템을 제어하고 데이터를 탈취하거나 시스템을 손상시킬 수 있습니다.
영향을 받는 버전 및 해결 방안
이번 취약점은 runC 버전 1.2.7, 1.3.2, 1.4.0-rc.2에 영향을 미치며, 1.2.8, 1.3.3, 1.4.0-rc.3 버전에서 수정되었습니다. 다행히 현재까지 이 취약점들이 실제로 악용된 사례는 보고되지 않았습니다.
완화 조치 및 예방 방법
runC 개발자들은 다음과 같은 완화 조치를 권장합니다.
- 사용자 네임스페이스 활성화: 호스트 루트 사용자를 컨테이너 네임스페이스에 매핑하지 않고 모든 컨테이너에 대해 사용자 네임스페이스를 활성화합니다. 이는 Unix DAC 권한으로 인해 네임스페이스 사용자가 관련 파일에 접근하는 것을 막아 공격의 주요 부분을 차단할 수 있습니다.
- 루트리스 컨테이너 사용: 루트리스 컨테이너를 사용하면 취약점 악용으로 인한 잠재적 손상을 줄일 수 있습니다.