OFFLINE
Awaiting data
Security intelligence
MajorCritical vulnerability

CVE-2026-76892: tsParticles: Malformed JSON requests can terminate the @tsparticles/mcp-server HTTP process

GitHub Advisories · officialPublished Nov 9, 2026Risk 37/100

## Summary The HTTP mode of `@tsparticles/mcp-server` parses incoming `/mcp` request bodies with `JSON.parse()` outside a request-local error boundary. A single malformed JSON request causes the async request handler to throw and terminates the Node.js process. This was verified on `v4.3.0` at commit `0266d469aa2d719cb66a9c6bf09aded4186ec17c`. Version `4.3.1` appears to fix this by returning HTTP 400 for invalid JSON. ## Affected Code The vulnerable handler is: if (req.method === "POST" && req.url === "/mcp") { const body = await new Promise<string>((resolve, reject) => { const chunks: Buffer[] = []; req.on("data", (chunk) => chunks.push(Buffer.from(chunk))); req.on("end", () => resolve(Buffer.concat(chunks).toString("utf8"))); req.on("error", reject); }); const parsedBody = body ? JSON.parse(body) : undefined; await transport.handleRequest(req, res, parsedBody); } The `JSON.parse()` call is not wrapped in `try/catch`. ## Reproduction Start the HTTP server and send this malformed request: POST /mcp HTTP/1.1 Content-Type: application/json Mcp-Protocol-Version: 2025-11-25 {"jsonrpc": Observed result in 3 out of 3 runs: exit_code=1 SyntaxError: Unexpected end of JSON input at Server.<anonymous> (integrations/mcp-server/src/index.ts:407:38) ## Impact An unauthenticated remote attacker can terminate the exposed MCP process with a single malformed request. The service remains unavailable until restarted by an external supervisor. ## Recommendation Wrap request parsing in a local `try/catch` and return a bounded HTTP 400 response such as: {"error":"Invalid JSON"} The process should remain alive after malformed requests.

Upgrade affected packages to a patched version: @tsparticles/mcp-server 4.3.1.

Vendor
Not specified
Product
@tsparticles/mcp-server
Exploitation
none known
Evidence
official

This record is attributed to GitHub Advisories. Exploitation status and remediation guidance are kept separate from the vulnerability's technical severity.

Open primary source