🇰🇷 한글 설명
GitHub MCP Server 1.1.0 미만 버전의 CompletionsHandler 함수에서 params.Ref 필드에 대한 nil 체크가 누락되어 발생합니다. 인증되지 않은 클라이언트가 비어 있는 ref 필드를 포함한 JSON-RPC 메시지를 전송할 경우 nil 포인터 역참조로 인한 Go 런타임 패닉이 발생하여 서버가 중단됩니다.
💡 쉬운 설명
GitHub의 공식 MCP 서버에서 특정 요청을 보낼 때 필수 정보가 빠져 있으면 서버가 갑자기 꺼지는 문제가 있습니다. 공격자가 인증 없이도 이 기능을 이용해 서버를 마비시킬 수 있습니다.
🇺🇸 원문 (English)
GitHub MCP Server is GitHub's official MCP Server. Prior to 1.1.0, the CompletionsHandler function in pkg/github/server.go accesses params.Ref without first checking whether it is nil, so a completion/complete request with a missing or empty ref field triggers a nil pointer dereference and a Go runtime panic; because the crash occurs before any authentication or token validation, any unauthenticated client able to send JSON-RPC messages can crash the server, resulting in a complete denial of service. This issue is fixed in version 1.1.0.
📍 영향받는 시스템
GitHub MCP Server 1.1.0 미만 버전
⚔️ 공격 벡터
인증되지 않은 클라이언트가 ref 필드가 누락된 JSON-RPC 메시지를 전송하여 서버를 강제 종료
🛡️ 대응 방법
GitHub MCP Server를 1.1.0 버전 이상으로 업데이트
🔧 검증 코드
출력된 모듈 버전이 1.1.0 미만인지 확인하여 취약 여부를 판단합니다.
go list -m github.com/modelcontextprotocol/server-github 2>/dev/null || echo 'Not installed'