🇰🇷 한글 설명
Docker Notary 0.1 미만 버전의 checkRoot 함수가 root.json 파일의 만료 여부를 제대로 확인하지 않는 취약점이 발견되었습니다. 이로 인해 키가 탈취된 후 새로운 root.json 파일이 생성되더라도, 공격자가 만료된 이전 root.json 파일을 참조하는 업데이트 파일을 생성하여 시스템을 속일 수 있습니다.
💡 쉬운 설명
보안 인증서가 유효 기간이 지났는지 확인해야 하는데, 이 과정을 건너뛰는 결함이 있습니다. 공격자는 유효 기간이 지난 가짜 인증서를 사용하여 사용자에게 악성 업데이트를 설치하도록 유도할 수 있습니다.
🇺🇸 원문 (English)
In Docker Notary before 0.1, the checkRoot function in gotuf/client/client.go does not check expiry of root.json files, despite a comment stating that it does. Even if a user creates a new root.json file after a key compromise, an attacker can produce update files referring to an old root.json file.
📍 영향받는 시스템
Docker Notary version < 0.1
⚔️ 공격 벡터
만료된 root.json 파일을 참조하는 악성 업데이트 파일을 배포하여 인증 과정을 우회함
🛡️ 대응 방법
Docker Notary를 0.1 이상의 최신 버전으로 업데이트하십시오.
🔧 검증 코드
출력된 버전 정보가 0.1 미만인지 확인하여 취약 여부를 판단합니다.
go list -m github.com/theupdateframework/notary 2>/dev/null || echo 'Notary not found in go modules'