🇰🇷 한글 설명
MCP Watch 0.1.2 및 이전 버전의 MCPScanner 클래스 내 cloneRepo 메서드에서 심각한 커맨드 인젝션 취약점이 발견되었습니다. 공격자가 githubUrl 인자에 셸 메타문자를 삽입하여 검증되지 않은 데이터를 시스템 셸로 직접 전달할 경우, 호스트 머신에서 임의의 명령을 실행할 수 있습니다.
💡 쉬운 설명
프로그램이 인터넷 주소를 처리할 때 입력값 검사를 제대로 하지 않아 발생하는 문제입니다. 나쁜 의도를 가진 사용자가 주소 뒤에 특수 문자를 붙여 보내면, 컴퓨터가 이를 명령어로 착각해 해커가 원하는 동작을 수행하게 됩니다.
🇺🇸 원문 (English)
MCP Watch is a comprehensive security scanner for Model Context Protocol (MCP) servers. In 0.1.2 and earlier, the MCPScanner class contains a critical Command Injection vulnerability in the cloneRepo method. The application passes the user-supplied githubUrl argument directly to a system shell via execSync without sanitization. This allows an attacker to execute arbitrary commands on the host machine by appending shell metacharacters to the URL.
📍 영향받는 시스템
MCP Watch 0.1.2 및 그 이전 버전
⚔️ 공격 벡터
사용자가 입력한 githubUrl 인자에 셸 메타문자를 포함시켜 execSync 함수를 통해 임의의 명령어를 실행
🛡️ 대응 방법
해당 취약점이 해결된 최신 버전으로 업데이트하거나, 입력값에 대한 엄격한 화이트리스트 기반 검증 로직을 적용
🔧 검증 코드
명령어 실행 결과에 [email protected] 이하의 버전이 나타나면 취약한 버전이 설치된 상태입니다.
npm list mcp-watch 2>/dev/null | grep -E 'mcp-watch@0\.[0-1]\.'