CVE-2026-57123: praisonaiagents MCP SSE server exposes every tool with no auth
Before praisonaiagents 1.6.59, ToolsMCPServer.run_sse() and launch_tools_mcp_server(transport="sse") bind to 0.0.0.0 with no authentication or Origin check. Anyone who can reach the port can list and run every registered tool, and a web page can drive a localhost instance through DNS rebinding. The library's own security controls were never wired in.
What it is
run_sse and launch_tools_mcp_server default host to all interfaces and build the Starlette app for /sse and /messages/ with no auth middleware and no Origin validation.
mcp/mcp_security.py defines origin validation, DNS-rebinding detection, auth-header checks and SecurityConfig, but no transport calls them. The impact depends on the registered tools; file, shell and code-execution tools mean full compromise of the host.
How to check
- Affected: praisonaiagents (PyPI) before 1.6.59 (the GitHub advisory lists 1.6.52 and earlier as vulnerable).
- Check whether you start an MCP server with transport="sse" through ToolsMCPServer or launch_tools_mcp_server.
How to fix
- Upgrade praisonaiagents to 1.6.59 or later.
- Bind MCP servers to 127.0.0.1 unless you really need remote access, and put remote ones behind authentication.
pip show praisonaiagents | grep -i version Sources
- criticalCVE-2026-57141: PraisonAI's codeMode tool sandbox can be escaped to run OS commands
- criticalCVE-2026-57147: praisonai-platform signs logins with the public secret dev-secret-change-me
- criticalCVE-2026-57139: PraisonAI's npm MCP server and AgentOS let anyone call tools and agents
- criticalCVE-2026-57145: PraisonAI's multiedit tool lets the model read and overwrite any file