New Webinar: Lessons for Security Leaders From Anthropic’s MCP Failure
Flowise (CVE-2026-40933) & Upsonic (CVE-2026-30625): What to do when the best practice isn't enough?

Flowise (CVE-2026-40933) & Upsonic (CVE-2026-30625): What to do when best practice isn’t enough? 

The MCP flaw hit organizations that did everything right. Here’s how to harden your architecture against it

During our recent research into MCP Supply Chain Vulnerability (download here), we found two AI systems  – Flowise & Upsonic – that recognized the risk of passing user input directly to MCP STDIO configurations and took steps to address it.

In order to avoid RCE, both Flowise & Upsonic implemented the recommended approach: input sanitization. Any user input to a custom STDIO MCP goes through a series of checks, where only approved commands can pass (python, npx), and no special characters can be passed (&, |, >). This removed most of the attack surface – but it was unable to account for a fundamental behavior of languages like Python and Node.js, where arguments passed as parameters can themselves invoke OS-level commands, bypassing sanitization entirely.

image

This shows that even when implementing best practices (as recommended by Anthropic) and maintaining well-secured code, developers cannot anticipate every edge case – leaving some API calls exposed.

When the underlying protocol is vulnerable, threat actors will find creative ways to bypass existing defenses, particularly when the goal is command execution and server takeover on high-value targets.

POC

Remediation

Developers and organizations encountering this issue should consider the following to prevent direct input-to-execution vulnerabilities from affecting their applications:

  1. Execute code and STDIO MCP servers inside an isolated sandbox environment
    This prevents access to sensitive information on the server and limits the impact of both malicious actors and compromised MCP servers from reaching API keys, environment variables, and the hosting network.
  2. Disable command execution where it isn’t needed
    In most cases, STDIO MCP servers weren’t part of the original design. Disabling this capability by default – and enabling it only for approved users or specific use cases – eliminates this attack surface entirely.
  3. Add authentication to your applications
    If STDIO MCP usage is by design, a strong authentication mechanism and proper access controls can block unauthorized actors from gaining access and executing code.
  4. Avoid using unauthenticated AI services that have access to sensitive information
    Most AI services we tested – including LangFlow – were unauthenticated. Any threat actor gaining access to one can reach sensitive information, API keys, and AI data, and perform lateral movement across the hosting network.

post banner image

Run Every Security Test Your Code Needs

Pinpoint, investigate and eliminate code-level issues across the entire SDLC.

Start Free
Table of Contents
Group 1261153044

It’s time to secure your code the way software is built

Learn how VibeSec makes security part of your product creation from code to runtime