🇰🇷 한글 설명
Meshtastic 오픈 소스 프로젝트의 GitHub 워크플로우에서 pull_request_target 트리거를 사용할 때 발생하는 보안 취약점입니다. 외부 사용자의 풀 리퀘스트가 승인 없이도 저장소의 비밀 정보와 높은 권한을 가진 토큰을 사용하여 공격자의 코드를 실행할 수 있게 합니다. 이로 인해 공급망 공격, 셀프 호스팅 러너 탈취 또는 저장소 전체 제어권 상실이 발생할 수 있습니다.
💡 쉬운 설명
해커가 만든 코드가 검증 없이 자동으로 실행되어 프로젝트의 중요한 비밀번호를 훔치거나 관리자 권한을 가로챌 수 있는 문제입니다. 마치 모르는 사람이 보낸 파일을 확인도 없이 컴퓨터에서 바로 실행해버리는 것과 같습니다.
🇺🇸 원문 (English)
Meshtastic is an open source mesh networking solution. Prior to version 2.7.21.1370b23, the Meshtastic GitHub repository's main_matrix.yml workflow is triggered by pull_request_target and multiple jobs check out the attacker's fork code and execute it with access to repository secrets and elevated GITHUB_TOKEN permissions. No approval gate exists. Pull requests from external users with author_association: "NONE" triggered the CI workflow automatically. The workflow directly executes attacker-controlled files from the fork checkout. This issue could have resulted in supply chain compromise, self-hosted runner compromise, and/or repository takeover for the repo. This issue is separate from GHSA-6mwm-v2vv-pp96, which addressed a command injection via github.head_ref in the setup job of the same workflow. That fix correctly moved to environment variables. However, the more critical fork checkout vulnerability across the check, build, and build-debian-src jobs was not addressed. Version 2.7.21.1370b23 contains a patch for thie issue.
📍 영향받는 시스템
Meshtastic (version 2.7.21.1370b23 미만 버전)
⚔️ 공격 벡터
외부 사용자가 악성 코드가 포함된 Pull Request를 생성하여 CI 워크플로우를 자동으로 트리거함
🛡️ 대응 방법
Meshtastic를 버전 2.7.21.1370b23 이상으로 업데이트하십시오.
🔧 검증 코드
명령어 결과로 v2.7.21.1370b23 이상의 태그가 출력되면 취약점이 해결된 상태입니다.
git describe --tags 2>/dev/null | grep -E 'v2.7.21.1370b23'