{"id":549600,"date":"2026-04-25T06:47:32","date_gmt":"2026-04-25T06:47:32","guid":{"rendered":"https:\/\/www.newsbeep.com\/uk\/549600\/"},"modified":"2026-04-25T06:47:32","modified_gmt":"2026-04-25T06:47:32","slug":"how-anthropics-model-context-protocol-allows-for-easy-remote-execution","status":"publish","type":"post","link":"https:\/\/www.newsbeep.com\/uk\/549600\/","title":{"rendered":"How Anthropic\u2019s Model Context Protocol Allows For Easy Remote Execution"},"content":{"rendered":"<p>As part of the effort to push Large Language Model (LLM) \u2018AI\u2019 into more and more places, Anthropic\u2019s Model Context Protocol (MCP) has been adopted as the standard to connect LLMs with various external tools and systems in a client-server model. A light oversight with the architecture of this protocol is that remote command execution (RCE) of arbitrary commands is effectively an essential part of its design, as <a href=\"https:\/\/www.ox.security\/blog\/the-mother-of-all-ai-supply-chains-critical-systemic-vulnerability-at-the-core-of-the-mcp\/\" target=\"_blank\" rel=\"nofollow noopener\">covered in a recent article by [OX Security]<\/a>.<\/p>\n<p>The details of this flaw are found in a <a href=\"https:\/\/www.ox.security\/blog\/the-mother-of-all-ai-supply-chains-technical-deep-dive\/\" target=\"_blank\" rel=\"nofollow noopener\">detailed breakdown<\/a> article, which applies to all implementations regardless of the programming language. Essentially the StdioServerParameters that are passed to the remote server to create a new local instance on said server can contain any command and arguments, which are executed in a server-side shell.<\/p>\n<p><a href=\"https:\/\/hackaday.com\/wp-content\/uploads\/2026\/04\/mcp-simple-diagram.png\" target=\"_blank\" rel=\"nofollow noopener\"><img loading=\"lazy\" decoding=\"async\" data-attachment-id=\"1081799\" data-permalink=\"https:\/\/hackaday.com\/2026\/04\/24\/how-anthropics-model-context-protocol-allows-for-easy-remote-execution\/mcp-simple-diagram\/\" data-orig-file=\"https:\/\/hackaday.com\/wp-content\/uploads\/2026\/04\/mcp-simple-diagram.png\" data-orig-size=\"3840,1500\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"mcp-simple-diagram\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/hackaday.com\/wp-content\/uploads\/2026\/04\/mcp-simple-diagram.png?w=400\" data-large-file=\"https:\/\/www.newsbeep.com\/uk\/wp-content\/uploads\/2026\/04\/mcp-simple-diagram.png\" class=\"aligncenter size-large wp-image-1081799\" src=\"https:\/\/www.newsbeep.com\/uk\/wp-content\/uploads\/2026\/04\/mcp-simple-diagram.png\" alt=\"\" width=\"800\" height=\"313\"  \/><\/a><\/p>\n<p>Essentially the issue is a lack of input sanitization, which is only <a href=\"https:\/\/hackaday.com\/2024\/02\/29\/the-white-house-memory-safety-appeal-is-a-security-red-herring\/\" rel=\"nofollow noopener\" target=\"_blank\">the most common source<\/a> of exploited CVEs. Across multiple real-world exploitation attempts on the software of LettaAI, LangFlow, Flowise and Windsurf it was possible to perform RCEs or perform local RCE in the case of the Windsurf IDE. Although Flowise had implemented some input sanitization by limiting allowed commands and the stripping of special characters, this was bypassed by using standard flags of the npx command.<\/p>\n<p>After contacting Anthropic to inform them of these issues with MCP, the researchers were told that there was no design flaw and essentially had a \u2018no-fix, works as designed\u2019 hurled at them. According to Anthropic it\u2019s the responsibility of the developer to perform input sanitization, which is interesting since they provide a range of implementations.<\/p>\n","protected":false},"excerpt":{"rendered":"As part of the effort to push Large Language Model (LLM) \u2018AI\u2019 into more and more places, Anthropic\u2019s&hellip;\n","protected":false},"author":2,"featured_media":549601,"comment_status":"","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[20],"tags":[554,733,4308,86,56,54,55],"class_list":["post-549600","post","type-post","status-publish","format-standard","has-post-thumbnail","category-artificial-intelligence","tag-ai","tag-artificial-intelligence","tag-artificialintelligence","tag-technology","tag-uk","tag-united-kingdom","tag-unitedkingdom"],"_links":{"self":[{"href":"https:\/\/www.newsbeep.com\/uk\/wp-json\/wp\/v2\/posts\/549600","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.newsbeep.com\/uk\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.newsbeep.com\/uk\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.newsbeep.com\/uk\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.newsbeep.com\/uk\/wp-json\/wp\/v2\/comments?post=549600"}],"version-history":[{"count":0,"href":"https:\/\/www.newsbeep.com\/uk\/wp-json\/wp\/v2\/posts\/549600\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.newsbeep.com\/uk\/wp-json\/wp\/v2\/media\/549601"}],"wp:attachment":[{"href":"https:\/\/www.newsbeep.com\/uk\/wp-json\/wp\/v2\/media?parent=549600"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.newsbeep.com\/uk\/wp-json\/wp\/v2\/categories?post=549600"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.newsbeep.com\/uk\/wp-json\/wp\/v2\/tags?post=549600"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}