CVE-2026-55637: genieacs-mcp DNS Rebinding via Missing Host and Origin Validation
A malicious web page can use DNS rebinding to reach a victim's local genieacs-mcp HTTP listener and invoke GenieACS device-management tools (reboot, firmware update, parameter changes) without any…

The problem
genieacs-mcp listens on 127.0.0.1:8080 by default and skips authentication entirely on the loopback interface. The unauthenticated branch passes requests straight to the MCP handler with no Host or Origin check.
DNS rebinding lets a public web page resolve attacker.example to 127.0.0.1, then POST to /mcp with a forged Host header. The server accepts it, creates a session, and exposes all 12 GenieACS tools including reboot_device, download_firmware, set_parameter, and manage_provision.
Proof of concept
A working proof-of-concept for CVE-2026-55637 in github.com/geiserx/genieacs-mcp, with the exact payload below.
POST /mcp HTTP/1.1
Host: attacker.example:8083
Origin: http://attacker.example:8083
Content-Type: application/json
Accept: application/json, text/event-stream
{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"genieacs-rebind-check","version":"1"}}}The root cause is a missing origin validation gate in cmd/server/main.go. When MCP_AUTH_TOKEN is empty (the loopback default), the code calls httpSrv.Start(addr) directly with no middleware, so any HTTP client, including a browser pointed at the server via DNS rebinding, can initialize a full MCP session.
The patch (commit 577306d, PR #26) adds a middleware layer that inspects the Host and Origin headers before the request reaches the MCP handler. Requests whose Host or Origin do not resolve to an expected loopback value are rejected with HTTP 403. That closes the browser-origin path without breaking local MCP clients, which either omit Origin or set it to a trusted local value.
CWE-346 (Origin Validation Error) applies: the server trusted the caller's claimed origin rather than enforcing it.
The fix
Upgrade to genieacs-mcp v0.3.2 (commit 577306d). The patch adds Host and Origin validation middleware for the unauthenticated loopback HTTP transport. If you cannot upgrade immediately, set MCP_AUTH_TOKEN to a random secret and set TRANSPORT=stdio to avoid exposing an unauthenticated HTTP endpoint entirely.
Related research
- highgo-chi/chi RealIP Middleware IP Spoofing via X-Forwarded-For
- high · 7.5CVE-2026-55677CVE-2026-55677: Echo v5 Encoded Slash Route-Bypass Exposes Static Files
- high · 8.4CVE-2026-55582CVE-2026-55582: mcp-shell Secure Mode Allowlist Bypass via Git Shell Alias
- high · 8.4CVE-2026-55581CVE-2026-55581: mcp-shell Secure Mode Allowlist Bypass via /bin/bash -c