{"id":"CVE-2026-61542","kind":"vulnerability","aliases":["CVE-2026-61542"],"related":[],"title":"Gearboy: unauthenticated network MCP server lets peers control emulator","description":"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.","summary":"Gearboy's optional `--mcp-http` mode binds to all network interfaces and accepts MCP requests with no authentication, Host or Origin checks, despite documentation saying it is localhost-only. A network peer can start an MCP session and invoke emulator and debugging operations, with impact described as limited to the emulator process, its debugging state and local files accepted as media.","severity":"high","cvss":8.6,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["ai-tooling","desktop-emulator","game-boy","gearboy","mcp"],"not_affected_if":["loopback-only","mcp-http-disabled","patched-3.8.7"],"how_to_check":"- Run `gearboy --version` or check the installed version; versions below `3.8.7` are affected.\n- Check whether the process was started with `--mcp-http`, and whether TCP port `7777` is listening on all interfaces (for example `ss -ltnp | grep 7777`).\n- Confirm whether a firewall or router exposes port `7777` to other hosts.","fix":"- Upgrade Gearboy to `3.8.7` or later.\n- Do not run `--mcp-http` on machines reachable from a network; firewall port `7777` until patched.","status":"open","published_at":"2026-10-28T20:18:27+00:00","first_seen_at":"2026-10-28T20:35:10+00:00","triaged_at":"2026-10-28T20:36:13+00:00","updated_at":"2026-10-28T20:36:13+00:00","category":"ai-tooling","confidence":0.8,"triage":{"at":"2026-10-28T20:36:13Z","model":"claude-haiku-5-5","output":{"fix":"- Upgrade Gearboy to `3.8.7` or later.\n- Do not run `--mcp-http` on machines reachable from a network; firewall port `7777` until patched.","reach":"network","title":"Gearboy: unauthenticated network MCP server lets peers control emulator","impact":"medium","summary":"Gearboy's optional `--mcp-http` mode binds to all network interfaces and accepts MCP requests with no authentication, Host or Origin checks, despite documentation saying it is localhost-only. A network peer can start an MCP session and invoke emulator and debugging operations, with impact described as limited to the emulator process, its debugging state and local files accepted as media.","category":"ai-tooling","nicknames":[],"who_cares":["gearboy","mcp","desktop-emulator","game-boy"],"confidence":0.8,"needs_auth":"no","worst_case":"Remote peers drive emulator and read accepted local media files","analyst_note":"","how_to_check":"- Run `gearboy --version` or check the installed version; versions below `3.8.7` are affected.\n- Check whether the process was started with `--mcp-http`, and whether TCP port `7777` is listening on all interfaces (for example `ss -ltnp | grep 7777`).\n- Confirm whether a firewall or router exposes port `7777` to other hosts.","needs_analyst":false,"not_affected_if":["mcp-http-disabled","loopback-only","patched-3.8.7"],"who_is_affected":"Only installations that run Gearboy with the optional `--mcp-http` mode can be reached this way, and the flaw is in the embedded MCP transport of the desktop build. Anyone who uses Gearboy only locally, without that flag, is not exposed.","user_interaction":"no","needs_special_setup":"yes","severity_if_unknown":"high"},"cost_usd":0.00112,"input_tokens":3583,"output_tokens":1523,"severity_before":"high"},"analyst_status":null,"analyst_note":null,"search":"'-2026':11A,14A '-61542':12A,15A '/mcp':156C '3.8.7':229C '7777':151C 'accept':40B,87B,122C,219C 'access':170C,204C 'access-control-allow-origin':169C 'advertis':168C 'affect':112C 'ai':17B 'ai-tool':16B 'allow':172C 'authent':45B 'author':160C 'bearer':189C 'bind':34B,145C,199C 'block':193C 'bound':209C 'boy':24B,94C,96C,101C 'check':49B,164C 'code':226C 'color':97C 'compon':113C 'contain':230C 'control':8A,171C,201C 'cve':10A,13A 'debug':70B,82B,214C 'debugg':104C 'demonstr':224C 'describ':74B,140C 'desktop':20B 'desktop-emul':19B 'despit':50B,131C 'dispatch':158C,194C 'document':51B,135C 'embed':107C 'emul':9A,21B,68B,79B,102C,212C 'emulator/debugging':184C 'even':186C 'execut':227C 'expos':183C 'file':86B,218C 'game':23B,93C,95C,100C 'game-boy':22B 'garbag':188C 'gearboy':1A,25B,27B,90C,228C 'gearsystem':110C 'host':46B,161C,225C 'http':32B,119C 'impact':73B,207C 'inaddr':146C 'initi':177C 'interfac':38B 'invok':67B,182C 'let':6A 'limit':76B 'local':85B,217C 'localhost':56B,133C 'localhost-on':55B,132C 'log':137C 'loopback':198C 'loopback-bind':197C 'mcp':4A,26B,31B,41B,64B,108C,118C,124C,179C 'mcp-http':30B,117C 'media':89B,221C 'mode':33B,120C 'negat':200C 'network':3A,37B,59B,129C,203C 'normal':148C 'oper':71B,185C 'option':29B,116C,167C 'origin':48B,163C,173C 'patch':232C 'peer':7A,60B,130C,175C 'platforms/shared/desktop/mcp/mcp_transport.h':141C 'port':150C 'post':153C 'prevent':202C 'process':80B,213C 'rather':222C 'reach':157C 'reachabl':128C 'report':206C 'request':42B,125C,154C 'respons':165C 'say':52B 'server':5A,109C 'session':65B,180C 'socket':144C 'start':62B 'state':83B,215C 'super':99C 'token':190C 'tool':18B 'transport':142C 'unauthent':2A,123C 'without':159C","nicknames":[],"mitigations":[],"who_affected":"Only installations that run Gearboy with the optional `--mcp-http` mode can be reached this way, and the flaw is in the embedded MCP transport of the desktop build. Anyone who uses Gearboy only locally, without that flag, is not exposed.","tier":"B","verified":{},"analyst_revisit_at":null,"first_public_at":"2026-10-28T20:18:27+00:00","kev":null,"cvss_vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:H/A:L","cvss_by":"security-advisories@github.com","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-61542","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-61542","severity":null,"published_at":"2026-10-28T20:18:27+00:00","modified_at":"2026-10-28T20:18:27+00:00","first_seen_at":"2026-10-28T20:35:10+00:00","fetched_at":"2026-10-28T20:35:10+00:00","note":null}],"documents":[],"notice":"Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai"}