🇰🇷 한글 설명
Doco-CD 0.90.1 미만 버전에서 OCI 아티팩트 검증 시 신뢰 경계 결함이 발견되었습니다. 공격자가 OCI 태그에 쓰기 권한이 있을 경우, 검증을 우회하는 설정이 포함된 아티팩트를 배포하여 신뢰할 수 없는 콘텐츠를 실행할 수 있습니다. 이 문제는 아티팩트 내부의 설정이 검증 정책을 변경하지 못하도록 엄격한 신뢰 경계를 적용하여 해결되었습니다.
💡 쉬운 설명
프로그램을 업데이트할 때 원래는 '진짜인지 확인'하는 절차가 있는데, 공격자가 이 확인 절차 자체를 꺼버리는 가짜 파일을 보낼 수 있는 문제입니다. 이를 통해 해커가 만든 위험한 프로그램이 서버에 자동으로 설치될 위험이 있습니다.
🇺🇸 원문 (English)
Doco-CD is a GitOps continuous delivery tool that automatically deploys and updates Docker Compose projects/services and Swarm stacks. Prior to version 0.90.1, a trust-boundary flaw in OCI artifact verification allowed artifact-provided deployment config to influence the policy used to verify that same artifact. When global OCI signature verification was enabled via `OCI_TRUST_POLICY` (`enabled: true`), an attacker with write access to the configured OCI tag could publish an unsigned or improperly signed artifact containing `.doco-cd.yml` with `oci.verify: false`. This could cause signature verification to be bypassed and untrusted deployment content to be applied. This primarily impacts users deploying from OCI artifacts where deployment config is read from artifact contents (for example, poll/webhook flows without trusted inline deployment overrides). The issue is fixed by enforcing a strict trust boundary and no-downgrade behavior. First, artifact-contained `.doco-cd.yml` is treated as untrusted for OCI trust-policy override decisions. Second, if global `OCI_TRUST_POLICY.enabled` is `true`, per-deployment `oci.verify: false` cannot disable verification. Some workarounds are available. Do not source deployment config from untrusted OCI artifact contents. Use trusted inline `POLL_CONFIG.deployments` and avoid relying on artifact-contained trust-policy overrides. Restrict write/push permissions for OCI repositories/tags used by doco-cd. Prefer immutable digest pinning and protected release/tag workflows. Monitor for unexpected artifact digest changes and failed/suspicious verification events.
📍 영향받는 시스템
Doco-CD version < 0.90.1
⚔️ 공격 벡터
OCI 태그에 쓰기 권한을 가진 공격자가 검증 우회 설정(.doco-cd.yml)이 포함된 악성 아티팩트를 배포
🛡️ 대응 방법
Doco-CD를 0.90.1 이상 버전으로 업데이트하고, 신뢰할 수 없는 아티팩트로부터 배포 설정을 읽지 않도록 구성하십시오.
🔧 검증 코드
현재 사용 중인 Doco-CD 관련 이미지의 설정 및 버전을 확인하여 0.90.1 미만인지 점검하십시오.
docker image inspect <image_id_or_name> --format '{{.Config.Labels}}' | grep -i 'doco-cd'