What happened
The HTTP mode of the MCP server processes unauthenticated POST /mcp requests without a request-local error boundary: one malformed JSON body throws a SyntaxError that kills the Node.js process. A companion flaw accumulates every request-body chunk in a Buffer[] without a cumulative limit, and another reuses one stateful StreamableHTTPServerTransport for all clients.
Why it matters
MCP servers are leveraged by LLM agents and may be exposed on a network. An unauthenticated remote DoS on a single request makes the MCP service unavailable to any agent depending on it, and the transport-reuse issue can leak state/session context between clients.
Attack vector
An unauthenticated remote client sends a single malformed JSON POST /mcp body that raises an unhandled SyntaxError, terminating the Node.js process and taking the MCP service offline until an external supervisor restarts it. Related flaws allow unbounded body accumulation and cross-client state leakage via a shared transport.
Affected systems
@tsparticles/mcp-server < 4.3.1 (crash / body accumulation); < 4.3.2 (transport reuse)
Mitigation
Upgrade @tsparticles/mcp-server to >=4.3.1 (and >=4.3.2 for transport reuse); see the fix commits and GitHub advisories.