{"id":"CVE-2025-59155","aliases":["GHSA-g5cg-6c7v-mmpw"],"url":"https://o3.security/vulnerability/CVE-2025-59155","summary":"hackmd-mcp server-side request forgery in HTTP transport mode","details":"### Impact\n\nA Server-Side Request Forgery (SSRF) vulnerability that affects all users running the HackMD MCP server in HTTP mode. Attackers could exploit this vulnerability by passing arbitrary `hackmdApiUrl` values through HTTP headers (`Hackmd-Api-Url`) or base64-encoded JSON query parameters. This allows malicious users to:\n\n- Redirect API calls to internal network services\n- Potentially access sensitive internal endpoints\n- Perform network reconnaissance through the server\n- Bypass network access controls\n\nThe vulnerability affects the HTTP transport mode specifically - stdio mode is not impacted as it only accepts requests from stdio.\n\n### Patches\n\nThe vulnerability has been patched in version `1.5.0`. Users should:\n\n1. Update to the latest version of the HackMD MCP server\n2. Set the `ALLOWED_HACKMD_API_URLS` environment variable to restrict allowed HackMD API endpoints\n3. If not set, the server will default to only allowing the official HackMD API URL (`https://api.hackmd.io/v1`)\n\nExample configuration:\n```\nALLOWED_HACKMD_API_URLS=https://api.hackmd.io/v1,https://your-hackmd-instance.com/api/v1\n```\n\n### Workarounds\n\nUsers can mitigate this vulnerability without upgrading by:\n\n1. **Use stdio mode instead of HTTP mode**: Set `TRANSPORT=stdio` or remove the `TRANSPORT` environment variable to disable HTTP mode entirely\n2. **Network-level restrictions**: Use firewall rules or network policies to restrict outbound connections from the server\n3. **Reverse proxy filtering**: Place the MCP server behind a reverse proxy that validates and filters both the `Hackmd-Api-Url` header and the base64-encoded JSON `config` query parameter to prevent malicious `hackmdApiUrl` values\n\n### References\n\n- [OWASP Server-Side Request Forgery Prevention Cheat Sheet](https://cheatsheetseries.owasp.org/cheatsheets/Server_Side_Request_Forgery_Prevention_Cheat_Sheet.html)\n- [HackMD MCP Server Documentation](https://github.com/yuna0x0/hackmd-mcp)","published":"2025-09-15T16:56:57.006Z","modified":"2026-08-12T03:51:12.949169550Z","cvss":null,"epss":null,"cisaKev":null,"exploitsKnown":0,"affectedPackages":[{"ecosystem":"npm","name":"hackmd-mcp","fixedVersion":"1.5.0"}],"fix":{"url":"https://github.com/yuna0x0/hackmd-mcp/commit/43936c78a5bb3dedc74e8f080607a1125caa8c13","label":"yuna0x0/hackmd-mcp@43936c7"},"references":[{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/59xxx/CVE-2025-59155.json"},{"type":"ADVISORY","url":"https://github.com/yuna0x0/hackmd-mcp/security/advisories/GHSA-g5cg-6c7v-mmpw"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2025-59155"},{"type":"FIX","url":"https://github.com/yuna0x0/hackmd-mcp/commit/43936c78a5bb3dedc74e8f080607a1125caa8c13"},{"type":"PACKAGE","url":"https://github.com/yuna0x0/hackmd-mcp"},{"type":"WEB","url":"https://github.com/yuna0x0/hackmd-mcp/releases/tag/v1.5.0"}],"provenance":{"sources":["OSV.dev","FIRST.org (EPSS)"],"lastVerified":"2026-08-12T03:51:12.949169550Z"}}