CVE-2026-75011
CVE-2026-75011 is a command injection vulnerability in NetForensicMCP's `execAsync` function, where an `interface/protocol` argument flows directly to shell execution without sanitization. The pattern is bleakly familiar: a function named to sound innocuous, an argument that maps to shell syntax, and no friction between untrusted input and execution. What makes this worth your attention isn't the individual flaw — it's the context. MCP servers extend AI agent capabilities, which means this code runs in an environment where an AI model will cheerfully pass unsanitized input because that's what agents do: they execute tool calls. The blast radius isn't "someone's forensics tool gets RCE." It's every AI workflow that integrated this server, every downstream system those workflows touch. The attack surface includes the decision layer sitting above the server that assumes the tool is safe to query. The vulnerability is also a symptom of a deeper ecosystem failure. Node.js makes `child_process.exec` look identical to safe alternatives — no linter warnings, no framework friction, no prominent documentation that this is a security-critical choice. The MCP framework itself normalized dangerous defaults by making shell execution the path of least resistance. This isn't a case of a reckless developer; it's a case of an ecosystem that rewards convenience over safety at the API design level. What you should do: audit any MCP server integrations in your AI agent workflows for exec functions that accept arbitrary string arguments. If you're building MCP servers, require explicit opt-in to shell execution primitives and provide safer alternatives (child_process spawn with array arguments) as the default. Treat the maintainer's silence as an implicit archival signal — the lack of response isn't indifference, it's evidence that the project may be effectively abandoned, which means you should fork-and-patch or find a maintained alternative rather than waiting for an upstream fix that won't come. The published exploit compounds the exposure. Every hour without remediation is compounded interest on systemic debt. The known instances have a ticking clock. The unknown instances — other MCP servers with this same genetic sequence — are in exposure windows of unknown duration, and you have no way to measure how long those windows have been open.
Reviewed through automated stages and approved by a human before publication.