🇰🇷 한글 설명
GitHub 공식 CLI 도구 `gh` 버전 2.49.0~2.66.x에서 `gh attestation verify` 명령이 증명이 없을 때 올바른 실패 상태(non-zero exit code) 대신 성공 상태(0)를 반환합니다. 공격자는 이를 악용하여 배포 검증을 우회하고 악성 아티팩트를 배포할 수 있습니다.
💡 쉬운 설명
GitHub의 보안 검증 도구가 "검증 실패"를 "성공"이라고 잘못 보고합니다. 공격자가 이를 이용해 나쁜 소프트웨어를 몰래 배포할 수 있습니다.
🇺🇸 원문 (English)
`gh` is GitHub’s official command line tool. Starting in version 2.49.0 and prior to version 2.67.0, under certain conditions, a bug in GitHub's Artifact Attestation cli tool `gh attestation verify` causes it to return a zero exit status when no attestations are present. This behavior is incorrect: When no attestations are present, `gh attestation verify` should return a non-zero exit status code, thereby signaling verification failure. An attacker can abuse this flaw to, for example, deploy malicious artifacts in any system that uses `gh attestation verify`'s exit codes to gatekeep deployments. Users are advised to update `gh` to patched version `v2.67.0` as soon as possible.
📍 영향받는 시스템
GitHub CLI `gh` 버전 2.49.0 ~ 2.66.x (2.67.0 이상에서 패치됨)
⚔️ 공격 벡터
배포 파이프라인이 `gh attestation verify`의 exit code에만 의존할 때, 증명서 없이도 성공 상태를 받아 악성 아티팩트를 배포함
🛡️ 대응 방법
GitHub CLI `gh`를 v2.67.0 이상으로 업데이트
🔧 검증 코드
출력된 버전이 2.67.0 이상이면 안전, 2.66.x 이하면 취약함
gh --version | awk '{print $3}'