{"schema":"threatline.record/2","record":{"id":"CVE-2026-61546","aliases":["GHSA-j9xx-59ph-wmr6"],"summary":"AnkiMCP: DNS rebinding reaches unauthenticated local AnkiMCP HTTP tools","details":"AnkiMCP is an Anki addon that implements an MCP server, enabling AI assistants to interact with the Anki flashcard application. Prior to version 0.21.0, `anki_mcp_server/mcp_server.py` globally disables FastMCP DNS-rebinding protection through `TransportSecuritySettings` with `enable_dns_rebinding_protection=False`, including for the default local Streamable HTTP listener. The defaults in `anki_mcp_server/config.py` enable `http_enabled` on `127.0.0.1:3141`, with an empty `http_path` selecting the root endpoint. No bearer token, API key, session secret, strict `Host` allowlist or strict `Origin` allowlist is enforced before `initialize`, `tools/list` and `tools/call` reach MCP dispatch. A victim who visits a malicious web page while Anki and the listener are running can have browser requests rebound to loopback, allowing the attacker to `initialize` MCP, enumerate tools, read the local collection, and perform enabled non-destructive note/deck creation or updates. The attacker needs neither LAN position nor a local process. Available operations depend on enabled tool filters; destructive tools are hidden unless `enabled_destructive_tools` is opted into, limiting deletion-level impact but not the exposed read/write operations. The reported harness confirms real MCP tool dispatch with substituted Anki bridge responses rather than demonstrating destructive changes to a real collection. Disabling protection for tunnels/proxies also disables it for the normal loopback configuration. This issue is fixed in version 0.21.0.","categories":["Unclassified"],"product":"anki-mcp-server-addon","vendor":"ankimcp","ecosystem":null,"affected_ranges":[{"source":"CVE List","source_url":"https://www.cve.org/CVERecord?id=CVE-2026-61546","source_modified_at":"2026-10-28T21:40:16.081Z","fetched_at":"2026-10-29T00:48:09.584895Z","product":"anki-mcp-server-addon","vendor":"ankimcp","versions":[{"version":"< 0.21.0","status":"affected"}],"defaultStatus":null}],"fixed_versions":[],"cvss":8.8,"severity":"High","kev":{"listed":false},"epss":{"probability":null,"percentile":null,"score_date":null},"published_at":"2026-10-28T21:40:16.081Z","modified_at":"2026-10-28T21:40:16.081Z","provenance":[{"source":"CVE List","url":"https://www.cve.org/CVERecord?id=CVE-2026-61546","fetched_at":"2026-10-29T00:48:09.584895Z","source_modified_at":"2026-10-28T21:40:16.081Z"}],"sources":["CVE List"],"references":[{"source":"CVE List","url":"https://github.com/ankimcp/anki-mcp-server-addon/security/advisories/GHSA-j9xx-59ph-wmr6","tags":["x_refsource_CONFIRM"]},{"source":"CVE List","url":"https://github.com/ankimcp/anki-mcp-server-addon/commit/6dcb6939b0ecc0801f45cf0d241dc946aad1654f","tags":["x_refsource_MISC"]},{"source":"CVE List","url":"https://github.com/ankimcp/anki-mcp-server-addon/commit/d5306ff42d68f1e3b82a96878eb059437e820316","tags":["x_refsource_MISC"]},{"source":"CVE List","url":"https://github.com/ankimcp/anki-mcp-server-addon/tree/v0.21.0","tags":["x_refsource_MISC"]}],"locations":[],"motoko_assessment":{"status":"requires_architecture_review","automatic_remediation":false},"cve_state":"PUBLISHED","cvss_source":"CVE List","classification":{"method":"product-first software-layer rules","rules_version":"2.1","matched_on":null,"confidence":"unknown","reviewed":false},"change_timestamp":"2026-10-28T21:40:16.081Z","content_hash":"ca3baf3860462ebc1966a9e1119064063d8faf75bf2448d906c69545f252a658"}}
