🇰🇷 한글 설명
WilderForge GitHub Actions 워크플로우에서 github.event.review.body 등 사용자 제어 변수를 셸 스크립트에 직접 사용하여 코드 인젝션 취약점이 발생합니다. 악의적 행위자가 조작된 PR 리뷰에 셸 메타문자를 포함시켜 임의 명령어 실행이 가능하며, CI 인프라와 비밀정보가 손상될 수 있습니다.
💡 쉬운 설명
GitHub 자동화 환경에서 사용자 입력을 검증 없이 실행하면 공격자가 악의적 명령어를 몰래 실행할 수 있습니다. PR 리뷰에 나쁜 명령어를 숨겨서 제출하면 자동으로 실행되는 셈입니다.
🇺🇸 원문 (English)
WilderForge is a Wildermyth coremodding API. A critical vulnerability has been identified in multiple projects across the WilderForge organization. The issue arises from unsafe usage of `${{ github.event.review.body }}` and other user controlled variables directly inside shell script contexts in GitHub Actions workflows. This introduces a code injection vulnerability: a malicious actor submitting a crafted pull request review containing shell metacharacters or commands could execute arbitrary shell code on the GitHub Actions runner. This can lead to arbitrary command execution with the permissions of the workflow, potentially compromising CI infrastructure, secrets, and build outputs. Developers who maintain or contribute to the repos WilderForge/WilderForge, WilderForge/ExampleMod, WilderForge/WilderWorkspace, WilderForge/WildermythGameProvider, WilderForge/AutoSplitter, WilderForge/SpASM, WilderForge/thrixlvault, WilderForge/MassHash, and/or WilderForge/DLC_Disabler; as well as users who fork any of the above repositories and reuse affected GitHub Actions workflows, are affected. End users of any the above software and users who only install pre-built releases or artifacts are not affected. This vulnerability does not impact runtime behavior of the software or compiled outputs unless those outputs were produced during exploitation of this vulnerability. A current workaround is to disable GitHub Actions in affected repositories, or remove the affected workflows.
📍 영향받는 시스템
WilderForge 조직의 9개 저장소 (WilderForge, ExampleMod, WilderWorkspace, WildermythGameProvider, AutoSplitter, SpASM, thrixlvault, MassHash, DLC_Disabler) - 워크플로우 관리자 및 포크 리포지토리
⚔️ 공격 벡터
Pull request 리뷰 본문(github.event.review.body)에 셸 메타문자($, `, ;, |, &&) 또는 임의 명령어를 포함하여 제출
🛡️ 대응 방법
GitHub Actions 비활성화, 취약한 워크플로우 제거, 또는 사용자 입력을 쿼팅/환경변수로 분리하여 안전하게 처리
🔧 검증 코드
출력된 행에서 github.event.review.body가 따옴표/환경변수 없이 셸 명령어 내에 직접 사용되면 취약, 적절히 인코딩되거나 미사용이면 안전
grep -r 'github.event.review.body' .github/workflows/ 2>/dev/null | grep -v '^[[:space:]]*#'