🇰🇷 한글 설명
sigmade Git-MCP-Server의 src/gitUtils.ts에서 child_process.exec 함수를 통한 OS 명령 주입 취약점이 발견되었습니다. 로컬 공격자가 git 명령어 인자에 악의적인 셸 명령을 삽입하여 임의의 시스템 명령을 실행할 수 있습니다. 공개된 익스플로잇이 존재하고 공급업체의 대응이 없습니다.
💡 쉬운 설명
Git 도구에서 입력값을 제대로 검증하지 않아 공격자가 숨은 명령어를 주입할 수 있습니다. 같은 컴퓨터에 접근 권한이 있는 공격자가 전체 시스템을 제어할 수 있게 됩니다.
🇺🇸 원문 (English)
A vulnerability was found in sigmade Git-MCP-Server up to 785aa159f262a02d5791a5d8a8e13c507ac42880. Affected by this vulnerability is the function child_process.exec of the file src/gitUtils.ts of the component show_merge_diff/quick_merge_summary/show_file_diff. The manipulation results in os command injection. The attack must be initiated from a local position. The exploit has been made public and could be used. This product operates on a rolling release basis, ensuring continuous delivery. Consequently, there are no version details for either affected or updated releases. It is advisable to implement a patch to correct this issue. The vendor was contacted early about this disclosure but did not respond in any way.
📍 영향받는 시스템
sigmade Git-MCP-Server 모든 버전 (커밋 785aa159f262a02d5791a5d8a8e13c507ac42880 이전)
⚔️ 공격 벡터
로컬 공격자가 show_merge_diff/quick_merge_summary/show_file_diff 함수에 셸 메타문자를 포함한 git 인자를 전달하여 명령 주입 수행
🛡️ 대응 방법
Git-MCP-Server를 최신 버전으로 업그레이드; child_process.exec() 대신 execFile() 사용 또는 모든 사용자 입력에 대해 완전한 검증 및 이스케이프 처리 구현
🔧 검증 코드
Git-MCP-Server 설치 여부를 확인합니다. 설치되어 있으면 npm update 또는 git pull로 최신 패치 적용 필요.
npm list -g 2>/dev/null | grep -i 'git-mcp' && echo 'Check if update available' || echo 'Not installed globally'