{"id":"CVE-2026-76893","kind":"vulnerability","aliases":["CVE-2026-76893"],"related":[],"title":"tsParticles MCP server: one client can block all other sessions until restart","description":"tsParticles is a TypeScript library for creating highly customizable particle animations. Prior to 4.3.2, the HTTP mode of @tsparticles/mcp-server reuses one stateful StreamableHTTPServerTransport for every client. An unauthenticated client that sends the first initialize request without an mcp-session-id claims the shared transport state, causing later independent clients to receive Server already initialized and preventing them from establishing sessions until the process restarts. The first client's session remains functional. This issue is fixed in version 4.3.2.","summary":"The HTTP mode of the tsParticles MCP server shares one stateful transport across all clients. An unauthenticated client that sends the first initialize request can keep later clients from opening sessions until the process restarts.","severity":"medium","cvss":6.9,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["mcp","node.js","package","self-hosted","tsparticles"],"not_affected_if":["no-mcp-server","stdio-mode"],"how_to_check":"- Check the installed version of `@tsparticles/mcp-server` in the project lockfile or with `npm ls @tsparticles/mcp-server`\n- Look for the server running in HTTP mode rather than stdio mode in your deployment configuration","fix":"- `@tsparticles/mcp-server` to `4.3.2` or later","status":"open","published_at":"2026-11-04T22:18:07+00:00","first_seen_at":"2026-11-04T23:08:50+00:00","triaged_at":"2026-11-04T23:09:55+00:00","updated_at":"2026-11-04T23:09:55+00:00","category":"package","confidence":0.7,"triage":{"at":"2026-11-04T23:09:55Z","model":"claude-haiku-5-5","output":{"fix":"- `@tsparticles/mcp-server` to `4.3.2` or later","reach":"network","title":"tsParticles MCP server: one client can block all other sessions until restart","impact":"low","summary":"The HTTP mode of the tsParticles MCP server shares one stateful transport across all clients. An unauthenticated client that sends the first initialize request can keep later clients from opening sessions until the process restarts.","audience":"developers","category":"package","nicknames":[],"who_cares":["mcp","tsparticles","node.js","self-hosted"],"confidence":0.7,"fix_status":"available","needs_auth":"no","worst_case":"Other clients are locked out of the MCP server until restart.","analyst_note":"","how_to_check":"- Check the installed version of `@tsparticles/mcp-server` in the project lockfile or with `npm ls @tsparticles/mcp-server`\n- Look for the server running in HTTP mode rather than stdio mode in your deployment configuration","plain_action":"","needs_analyst":false,"not_affected_if":["stdio-mode","no-mcp-server"],"who_is_affected":"Only teams running the @tsparticles/mcp-server package in HTTP mode, where it is reachable by clients over a network. The sources describe a denial of service on the shared session, with the first client's session still working. Stdio-mode use and projects that do not run this MCP server are not described as affected.","user_interaction":"no","needs_special_setup":"yes","severity_if_unknown":"unknown"},"cost_usd":0.000691,"input_tokens":4318,"output_tokens":518,"severity_before":"medium"},"analyst_status":null,"analyst_note":null,"search":"'-2026':14A,17A '-76893':15A,18A '4.3.2':74C,139C 'across':38B 'alreadi':114C 'anim':71C 'block':7A 'caus':107C 'claim':102C 'client':5A,40B,43B,53B,86C,89C,110C,128C 'creat':67C 'customiz':69C 'cve':13A,16A 'establish':120C 'everi':85C 'first':47B,93C,127C 'fix':136C 'function':132C 'high':68C 'host':24B 'http':27B,76C 'id':101C 'independ':109C 'initi':48B,94C,115C 'issu':134C 'keep':51B 'later':52B,108C 'librari':65C 'mcp':2A,19B,32B,99C 'mcp-session-id':98C 'mode':28B,77C 'node.js':20B 'one':4A,35B,81C 'open':55B 'packag':21B 'particl':70C 'prevent':117C 'prior':72C 'process':59B,124C 'receiv':112C 'remain':131C 'request':49B,95C 'restart':12A,60B,125C 'reus':80C 'self':23B 'self-host':22B 'send':45B,91C 'server':3A,33B,113C 'session':10A,56B,100C,121C,130C 'share':34B,104C 'state':36B,82C,106C 'streamablehttpservertransport':83C 'transport':37B,105C 'tsparticl':1A,25B,31B,61C 'tsparticles/mcp-server':79C 'typescript':64C 'unauthent':42B,88C 'version':138C 'without':96C","nicknames":[],"mitigations":[],"who_affected":"Only teams running the @tsparticles/mcp-server package in HTTP mode, where it is reachable by clients over a network. The sources describe a denial of service on the shared session, with the first client's session still working. Stdio-mode use and projects that do not run this MCP server are not described as affected.","tier":"C","verified":{},"analyst_revisit_at":null,"fix_status":"available","audience":"developers","plain_action":null,"pkeys":[],"ptokens":[],"labels":["mcp","medium","nodejs","package","selfhosted","tsparticles"],"campaign_type":null,"first_public_at":"2026-07-10T09:51:56+00:00","kev":null,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X","cvss_by":"security-advisories@github.com","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-76893","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-76893","severity":null,"published_at":"2026-11-04T22:18:07+00:00","modified_at":"2026-11-04T22:18:07+00:00","first_seen_at":"2026-11-04T23:08:50+00:00","fetched_at":"2026-11-04T23:08:50+00:00","note":null}],"documents":[{"id":71184,"url":"https://github.com/tsparticles/tsparticles/commit/d3b5672bd61bb847abfa21193c34eabf7aba6896","title":"Patch: github.com","kind":"other","source":"nvd","publisher":"vendor","text":null,"published_at":null,"relation":"fix","confidence":null,"note":"Patch: github.com"},{"id":71185,"url":"https://github.com/tsparticles/tsparticles/security/advisories/GHSA-h7c4-q426-7jh9","title":"Vendor advisory: github.com","kind":"vendor","source":"nvd","publisher":"vendor","text":null,"published_at":"2026-07-10T09:51:56+00:00","relation":"advisory","confidence":null,"note":"Vendor advisory: github.com"}],"exploit_sources":[],"notice":"Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai"}