{"description":"Trending threats, MITRE ATT\u0026CK coverage, and detection metadata. Fed continuously.","favicon":"https://feed.craftedsignal.io/favicon-32x32.png","feed_url":"https://feed.craftedsignal.io/products/@tsparticles/mcp-server/feed.json","home_page_url":"https://feed.craftedsignal.io/","icon":"https://feed.craftedsignal.io/apple-touch-icon.png","items":[{"_cs_actors":[],"_cs_cpes":[],"_cs_cves":[],"_cs_exploited":false,"_cs_has_poc":false,"_cs_poc_references":[],"_cs_products":["@tsparticles/mcp-server"],"_cs_severities":["high"],"_cs_tags":["denial-of-service","webserver","oom","nodejs"],"_cs_type":"advisory","_cs_vendors":["tsparticles"],"content_html":"\u003cp\u003eThe HTTP server mode of \u003ccode\u003e@tsparticles/mcp-server\u003c/code\u003e is vulnerable to a Denial of Service (DoS) attack. The application's \u003ccode\u003e/mcp\u003c/code\u003e POST endpoint accumulates all incoming request body chunks into an in-memory \u003ccode\u003eBuffer[]\u003c/code\u003e array without enforcing size limits or checking the \u003ccode\u003eContent-Length\u003c/code\u003e header. An attacker can stream an arbitrarily large body, exhausting the Node.js process memory and triggering an OOM-killer termination. The default configuration exposes this endpoint on all network interfaces (0.0.0.0:3000) when deployed via the official Docker image.\u003c/p\u003e\n\u003ch2 id=\"impact\"\u003eImpact\u003c/h2\u003e\n\u003cp\u003eSuccessful exploitation leads to complete service unavailability of the \u003ccode\u003emcp-server\u003c/code\u003e instance. The vulnerability allows an unauthenticated remote attacker to force an OOM-kill of the containerized process. No credentials are required, and the impact is limited to resource exhaustion rather than direct unauthorized data access or code execution.\u003c/p\u003e\n\u003ch2 id=\"recommendation\"\u003eRecommendation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate or patch the \u003ccode\u003eintegrations/mcp-server/src/index.ts\u003c/code\u003e file to implement a maximum body size limit during the request stream processing.\u003c/li\u003e\n\u003cli\u003eImplement a check for the \u003ccode\u003eContent-Length\u003c/code\u003e header before consuming the request body.\u003c/li\u003e\n\u003cli\u003eIf immediate patching is not possible, place a reverse proxy or Web Application Firewall (WAF) in front of the service to enforce request body size limits and restrict access to the \u003ccode\u003e/mcp\u003c/code\u003e endpoint.\u003c/li\u003e\n\u003cli\u003eMonitor container memory usage metrics for abnormal spikes associated with requests to the \u003ccode\u003e/mcp\u003c/code\u003e endpoint.\u003c/li\u003e\n\u003c/ul\u003e\n","date_modified":"2026-11-11T07:31:24Z","date_published":"2026-11-11T07:31:24Z","id":"https://feed.craftedsignal.io/briefs/2026-11-tsparticles-mcp-dos/","summary":"The @tsparticles/mcp-server HTTP handler fails to restrict the size of incoming request bodies, allowing an unauthenticated attacker to cause OOM-driven process termination via a large POST request.","title":"tsparticles: Remote Denial of Service via Unbounded HTTP Request Body Buffering","url":"https://feed.craftedsignal.io/briefs/2026-11-tsparticles-mcp-dos/"}],"language":"en","title":"CraftedSignal Threat Feed - @Tsparticles/Mcp-Server","version":"https://jsonfeed.org/version/1.1"}