🇰🇷 한글 설명
Gearboy 에뮬레이터의 Gearsystem 구성요소에 있는 선택적 --mcp-http 모드는 인증 없이 MCP 요청을 받아들이며, 문서와 로그는 localhost 전용이라고 기술하고 있습니다. 소켓이 INADDR_ANY에 바인딩되어 있어 네트워크상의 누구나 /mcp 엔드포인트에 요청을 보내 에뮬레이터 및 디버깅 기능을 호출할 수 있습니다. 패치는 Gearboy 3.8.7에 포함되어 있습니다.
💡 쉬운 설명
Game Boy 에뮬레이터를 실행할 때 켜지는 특정 기능이 같은 네트워크에 있는 다른 사람에게도 열려 있어 조작될 수 있습니다. 이 기능은 로컬에서만 쓰도록 설계되었지만 실제로는 외부 접근이 가능했습니다.
🇺🇸 원문 (English)
Gearboy is a Game Boy, Game Boy Color, and Super Game Boy emulator and debugger with an embedded MCP server. Gearsystem, the affected component, has an optional `--mcp-http` mode that accepts unauthenticated MCP requests from any reachable network peer despite localhost-only documentation and logging. In the described `platforms/shared/desktop/mcp/mcp_transport.h` transport, the socket binds `INADDR_ANY`, normally on port 7777, and POST requests to `/mcp` reach dispatch without `Authorization`, `Host`, or `Origin` checks. Responses and OPTIONS advertise `Access-Control-Allow-Origin: *`. A peer can initialize an MCP session and invoke exposed emulator/debugging operations; even a garbage bearer token does not block dispatch, while a loopback-bind negative control prevents network access. The reported impact is bounded to the emulator process, debugging state, and local files accepted as media, rather than demonstrated host code execution. Gearboy 3.8.7 contains a patch.
📍 영향받는 시스템
Gearboy 3.8.7 미만 버전 (--mcp-http 옵션을 사용하는 Gearsystem 구성요소)
⚔️ 공격 벡터
같은 네트워크 또는 도달 가능한 네트워크의 공격자가 인증 없이 포트 7777의 /mcp 엔드포인트로 MCP 요청을 보내 에뮬레이터 및 디버깅 작업을 실행
🛡️ 대응 방법
Gearboy를 3.8.7 이상으로 업데이트하고, 업데이트 전에는 --mcp-http 모드를 사용하지 않으며 방화벽으로 포트 7777을 차단
🔧 검증 코드
출력된 버전이 3.8.7 미만이면 취약하므로 업데이트가 필요하고, 3.8.7 이상이면 패치가 적용된 것입니다.
gearboy --version 2>/dev/null || dpkg -l gearboy 2>/dev/null | grep -i gearboy