🔍 CVE-2024-29902

4.2
CVSS Score
MEDIUM
2024-04-10
2026-06-17 07:23
✅ 완료

🇰🇷 한글 설명

Cosign 2.2.4 미만 버전에서 원격 이미지의 악성 첨부 파일을 처리할 때 호스트 머신의 메모리를 과도하게 점유하여 서비스 거부(DoS)를 유발할 수 있습니다. 첨부 파일의 크기를 사전에 확인하지 않고 전체를 메모리에 로드하기 때문에, 파일 크기가 가용 메모리보다 클 경우 시스템 전체가 중단될 수 있습니다.

💡 쉬운 설명

Cosign이 이미지에 붙은 파일을 읽을 때 크기를 확인하지 않고 무작정 메모리에 담으려다 컴퓨터가 멈추는 문제입니다. 아주 큰 파일을 보내면 컴퓨터의 메모리가 꽉 차서 다른 프로그램들까지 모두 작동을 멈추게 됩니다.

🇺🇸 원문 (English)

Cosign provides code signing and transparency for containers and binaries. Prior to version 2.2.4, a remote image with a malicious attachment can cause denial of service of the host machine running Cosign. This can impact other services on the machine that rely on having memory available such as a Redis database which can result in data loss. It can also impact the availability of other services on the machine that will not be available for the duration of the machine denial. The root cause of this issue is that Cosign reads the attachment from a remote image entirely into memory without checking the size of the attachment first. As such, a large attachment can make Cosign read a large attachment into memory; If the attachments size is larger than the machine has memory available, the machine will be denied of service. The Go runtime will make a SigKill after a few seconds of system-wide denial. This issue can allow a supply-chain escalation from a compromised registry to the Cosign user: If an attacher has compromised a registry or the account of an image vendor, they can include a malicious attachment and hurt the image consumer. Version 2.2.4 contains a patch for the vulnerability.

📍 영향받는 시스템

Cosign versions prior to 2.2.4

⚔️ 공격 벡터

공격자가 조작된 대용량 첨부 파일이 포함된 원격 이미지를 레지스트리에 업로드하여 사용자가 이를 실행하도록 유도

🛡️ 대응 방법

Cosign을 최신 버전인 2.2.4 이상으로 업데이트

🔧 검증 코드

출력된 버전 번호가 2.2.4 미만이면 취약한 상태이며, 2.2.4 이상이면 안전합니다.

Shell / Script
cosign version 2>/dev/null | grep -E 'version'

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:N/AC:H/PR:H/UI:R/S:U/C:N/I:N/A:H

💻 영향받는 소프트웨어

Redis