🇰🇷 한글 설명
의존성 업데이트 자동화 도구인 Renovate에서 digest 업데이트가 설정된 최소 출시 기간(minimumReleaseAge) 검사를 우회하는 취약점이 발견되었습니다. 이로 인해 보안 검증이 완료되지 않은 최신 digest 버전이 자동으로 PR을 생성하여 CI 워크플로우를 실행시킬 위험이 있습니다. Renovate 44.3.1 버전에서 이 문제가 해결되었습니다.
💡 쉬운 설명
새로운 소프트웨어 버전이 안전한지 확인하기 위해 일정 기간 기다리는 기능이 특정 업데이트 방식(digest)에서는 작동하지 않는 문제입니다. 이로 인해 악성 코드가 포함된 최신 버전이 검증 없이 자동으로 설치 시도될 수 있습니다.
🇺🇸 원문 (English)
Renovate is a dependency update automation tool. In versions before 44.3.1 (and Mend Renovate CE/EE images before 15.4.0, mend-renovate-ce Helm chart before 15.4.0, mend-renovate-enterprise-edition Helm chart before 10.4.0), digest updates are not subject to the internal `minimumReleaseAge` (stability age) checks. When a repository configures `minimumReleaseAge` and has dependencies with `updateType=digest` — for example GitHub Actions pinned to a commit SHA with a floating tag, Docker images, Go modules or NuGet packages — Renovate will still open a pull request for a newly published digest, marked only with a pending `renovate/stability-days` status check. A newly published, potentially malicious dependency version can therefore cause a PR to be raised and CI workflows to potentially run before the configured minimum release age has elapsed, which is precisely what the Minimum Release Age control is intended to prevent. The issue is fixed in Renovate 44.3.1; as a workaround, digest updates can be disabled or gated behind `dependencyDashboardApproval`.
📍 영향받는 시스템
Renovate < 44.3.1, Mend Renovate CE/EE images < 15.4.0, mend-renovate-ce Helm chart < 15.4.0, mend-renovate-enterprise-edition Helm chart < 10.4.0
⚔️ 공격 벡터
공격자가 악성 digest를 배포하여 사용자의 CI/CD 파이프라인이 검증 기간 없이 자동으로 실행되도록 유도
🛡️ 대응 방법
Renovate를 44.3.1 이상 버전으로 업데이트하거나, digest 업데이트를 비활성화 또는 dependencyDashboardApproval을 통해 승인 후 진행하도록 설정
🔧 검증 코드
출력된 버전 번호가 44.3.1 이상인지 확인하여 취약점이 해결되었는지 판단합니다.
renovate --version | grep -E '44.3.1|44.3.2|45.0.0'