🇰🇷 한글 설명
containerd 1.2.14 미만 버전에서 발생하는 자격 증명 유출 취약점입니다. 공격자가 조작된 이미지 레이어 URL을 포함한 이미지를 배포하고 사용자가 이를 다운로드하게 유도하면, containerd가 인증 정보를 공격자의 서버로 전송할 수 있습니다. 이로 인해 레지스트리 계정 정보나 클라우드 인스턴스의 자격 증명이 탈취될 위험이 있습니다.
💡 쉬운 설명
나쁜 사람이 만든 가짜 이미지를 다운로드하면, 내 컴퓨터가 이미지를 가져오기 위해 사용하는 비밀번호를 공격자에게 자동으로 알려주게 되는 보안 결함입니다. 이 비밀번호가 유출되면 공격자가 내 클라우드 서비스나 저장소에 마음대로 접속할 수 있습니다.
🇺🇸 원문 (English)
In containerd (an industry-standard container runtime) before version 1.2.14 there is a credential leaking vulnerability. If a container image manifest in the OCI Image format or Docker Image V2 Schema 2 format includes a URL for the location of a specific image layer (otherwise known as a “foreign layer”), the default containerd resolver will follow that URL to attempt to download it. In v1.2.x but not 1.3.0 or later, the default containerd resolver will provide its authentication credentials if the server where the URL is located presents an HTTP 401 status code along with registry-specific HTTP headers. If an attacker publishes a public image with a manifest that directs one of the layers to be fetched from a web server they control and they trick a user or system into pulling the image, they can obtain the credentials used for pulling that image. In some cases, this may be the user's username and password for the registry. In other cases, this may be the credentials attached to the cloud virtual instance which can grant access to other cloud resources in the account. The default containerd resolver is used by the cri-containerd plugin (which can be used by Kubernetes), the ctr development tool, and other client programs that have explicitly linked against it. This vulnerability has been fixed in containerd 1.2.14. containerd 1.3 and later are not affected. If you are using containerd 1.3 or later, you are not affected. If you are using cri-containerd in the 1.2 series or prior, you should ensure you only pull images from trusted sources. Other container runtimes built on top of containerd but not using the default resolver (such as Docker) are not affected.
📍 영향받는 시스템
containerd 1.2.14 미만 버전 (1.3.0 이상은 안전)
⚔️ 공격 벡터
공격자가 제어하는 서버의 URL이 포함된 악성 컨테이너 이미지를 사용자가 pull 하도록 유도
🛡️ 대응 방법
containerd를 1.2.14 또는 1.3.0 이상의 최신 버전으로 업데이트하거나 신뢰할 수 있는 이미지 소스만 사용
🔧 검증 코드
출력된 버전이 1.2.14 미만이거나 1.3.0 미만인 경우 취약할 가능성이 높으므로 업데이트가 필요합니다.
containerd --version 2>/dev/null | grep -E 'containerd version (1\.2\.[0-9]{1,2}|1\.[0-1]\.[0-9])' || containerd --version