🇰🇷 한글 설명
kas 5.3 미만 버전에서 git 커밋 ID(SHA-1 또는 SHA-256)만 사용하여 저장소 상태를 검증할 때, 공격자가 동일한 이름의 브랜치를 생성하여 사용자를 속일 수 있는 취약점이 존재합니다. 이는 공격자가 저장소를 장악하고 악성 코드가 포함된 브랜치를 체크아웃하도록 유도할 수 있음을 의미하며, 특히 SHA-256 커밋 ID 사용 시 보안 위협이 됩니다.
💡 쉬운 설명
프로그램이 특정 버전인지 확인하는 방식에 허점이 있어, 해커가 가짜 코드를 심어둔 가짜 버전을 진짜처럼 속여 설치하게 만들 수 있습니다. 이를 방지하려면 프로그램 버전을 업데이트하거나 코드가 진짜인지 확인하는 추가 절차가 필요합니다.
🇺🇸 원문 (English)
kas is a setup tool for bitbake based projects. Prior to version 5.3, when relying solely on a git commit ID (SHA-1 or SHA-256) to qualify if a checkout of a repository is equivalent to the state validated while adding its commit ID to a kas configuration, users may be tricked to check out a branch of the same name from this repository. This implies that the referenced repository has been taken over by an attacker and modified to carry such a branch. SHA-1 commits may also be replaced by creating hash collisions, so the primary impact of this issue is on SHA-256 commit IDs. Version 5.3 fixes the issue. As a workaround, avoid relying solely on the commit ID for integrity validation of a repository that might become under control of a malicious 3rd party. If available, additional validate cryptographically signed commits or tags. Alternatively, mirror the repository to a save place, validate its integrity, and use this instead of the original one.
📍 영향받는 시스템
kas version 5.3 미만
⚔️ 공격 벡터
공격자가 제어하는 저장소에 동일한 이름의 브랜치를 생성하여 사용자가 악성 코드를 체크아웃하도록 유도
🛡️ 대응 방법
kas를 5.3 버전 이상으로 업데이트하거나, 암호화 서명된 커밋/태그를 사용하고 저장소를 미러링하여 무결성을 검증하십시오.
🔧 검증 코드
명령어 결과에 'kas 5.3' 미만의 버전이 출력되면 취약한 버전이 설치된 상태입니다.
kas --version 2>/dev/null | grep -E 'kas [0-5]\.[0-2]\.'