🇰🇷 한글 설명
Distribution 툴킷 3.1.2 미만 버전에서 digest-pinned 요청에 대한 매니페스트를 처리할 때, 본문 해시를 요청된 digest와 대조하지 않는 취약점이 발견되었습니다. 이로 인해 공격자가 조작된 매니페스트를 전달하더라도 Docker-Content-Digest 값이 일치하는 것처럼 속여 악성 콘텐츠를 주입할 수 있습니다. 또한 pull-through 프록시를 통해 조작된 매니페스트가 캐싱되어 재배포될 위험이 있습니다.
💡 쉬운 설명
컨테이너 이미지를 가져올 때 내용물이 변조되었는지 확인하는 과정에 허점이 있어, 해커가 가짜 이미지를 진짜처럼 속여 보낼 수 있습니다. 이 과정에서 조작된 이미지가 저장소에 저장되어 다른 사용자들에게까지 퍼질 수 있습니다.
🇺🇸 원문 (English)
Distribution is a toolkit to pack, ship, store, and deliver container content. Prior to 3.1.2, registry/client.(*manifests).Get() reads a manifest returned for a digest-pinned request and passes it to distribution.UnmarshalManifest without hashing the body against the requested digest, allowing a malicious or intercepted registry response to substitute attacker-chosen manifest content even when Docker-Content-Digest claims the requested value. The bundled pull-through proxy in registry/proxy/proxymanifeststore.go can cache and re-serve the substituted manifest. This issue is fixed in version 3.1.2.
📍 영향받는 시스템
Distribution toolkit version < 3.1.2
⚔️ 공격 벡터
악의적인 레지스트리 응답 또는 중간자 공격(MITM)을 통한 매니페스트 내용 교체
🛡️ 대응 방법
Distribution 툴킷을 3.1.2 버전 이상으로 업데이트하십시오.
🔧 검증 코드
출력된 버전이 3.1.2 미만인 경우 해당 취약점에 노출된 상태입니다.
distribution --version 2>/dev/null || echo 'Check installed distribution version'